{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 177,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import missingno\n",
    "import matplotlib as mpl\n",
    "\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from xgboost import XGBClassifier\n",
    "from sklearn.ensemble import GradientBoostingClassifier\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import roc_curve, auc, recall_score, confusion_matrix\n",
    "from sklearn.model_selection import GridSearchCV"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 296,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pd.read_csv('data.csv')\n",
    "data = data.drop('overdue_day', axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 297,
   "metadata": {},
   "outputs": [],
   "source": [
    "mpl.rcParams[\"font.family\"] = \"SimHei\"\n",
    "mpl.rcParams[\"axes.unicode_minus\"] = False"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据预处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 298,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>zmscore</th>\n",
       "      <th>jxl_xm_score</th>\n",
       "      <th>kexin_socre</th>\n",
       "      <th>tencent_socre</th>\n",
       "      <th>jiguang_black_score</th>\n",
       "      <th>xgf</th>\n",
       "      <th>y</th>\n",
       "      <th>jg_blackscore_label</th>\n",
       "      <th>ml_feature1</th>\n",
       "      <th>ml_feature2</th>\n",
       "      <th>...</th>\n",
       "      <th>bd4</th>\n",
       "      <th>bd5</th>\n",
       "      <th>family_addr_label</th>\n",
       "      <th>bd6</th>\n",
       "      <th>bd7</th>\n",
       "      <th>bd8</th>\n",
       "      <th>bd9</th>\n",
       "      <th>bd10</th>\n",
       "      <th>bd11</th>\n",
       "      <th>bd12</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>666</td>\n",
       "      <td>359</td>\n",
       "      <td>529</td>\n",
       "      <td>42</td>\n",
       "      <td>NaN</td>\n",
       "      <td>589.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>5.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>672</td>\n",
       "      <td>421</td>\n",
       "      <td>616</td>\n",
       "      <td>51</td>\n",
       "      <td>42.43</td>\n",
       "      <td>751.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>686</td>\n",
       "      <td>521</td>\n",
       "      <td>707</td>\n",
       "      <td>16</td>\n",
       "      <td>NaN</td>\n",
       "      <td>511.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>5.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>5.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>695</td>\n",
       "      <td>392</td>\n",
       "      <td>850</td>\n",
       "      <td>19</td>\n",
       "      <td>NaN</td>\n",
       "      <td>775.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>4.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>731</td>\n",
       "      <td>398</td>\n",
       "      <td>782</td>\n",
       "      <td>19</td>\n",
       "      <td>NaN</td>\n",
       "      <td>377.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>5.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 1237 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   zmscore  jxl_xm_score  kexin_socre  tencent_socre  jiguang_black_score  \\\n",
       "0      666           359          529             42                  NaN   \n",
       "1      672           421          616             51                42.43   \n",
       "2      686           521          707             16                  NaN   \n",
       "3      695           392          850             19                  NaN   \n",
       "4      731           398          782             19                  NaN   \n",
       "\n",
       "     xgf  y  jg_blackscore_label  ml_feature1  ml_feature2  ...   bd4  bd5  \\\n",
       "0  589.0  0                    0          0.0          0.0  ...     0    0   \n",
       "1  751.0  0                    1          1.0          0.0  ...     0    0   \n",
       "2  511.0  0                    0          0.0          0.0  ...     0    0   \n",
       "3  775.0  0                    0          0.0          0.0  ...     0    0   \n",
       "4  377.0  0                    0          1.0          0.0  ...     0    0   \n",
       "\n",
       "   family_addr_label  bd6  bd7  bd8  bd9  bd10  bd11  bd12  \n",
       "0                  1  5.0  3.0  2.0  4.0   1.0   1.0   4.0  \n",
       "1                  1  5.0  2.0  1.0  4.0   2.0   1.0   4.0  \n",
       "2                  1  5.0  3.0  1.0  5.0   3.0   1.0   5.0  \n",
       "3                  1  4.0  3.0  2.0  3.0   1.0   2.0   3.0  \n",
       "4                  1  4.0  1.0  1.0  4.0   1.0   1.0   5.0  \n",
       "\n",
       "[5 rows x 1237 columns]"
      ]
     },
     "execution_count": 298,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.set_option('display.max_columns', 20)\n",
    "data.head()\n",
    "# data['zmscore']\n",
    "# data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 299,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 5970 entries, 0 to 5969\n",
      "Columns: 1237 entries, zmscore to bd12\n",
      "dtypes: float64(1201), int64(36)\n",
      "memory usage: 56.3 MB\n"
     ]
    }
   ],
   "source": [
    " ## 查看缺失值分布\n",
    "data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 300,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 把标签放到第一列\n",
    "data_y = data.loc[:, 'y']\n",
    "data_x =data.drop('y', axis=1)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 301,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>zmscore</th>\n",
       "      <th>jxl_xm_score</th>\n",
       "      <th>kexin_socre</th>\n",
       "      <th>tencent_socre</th>\n",
       "      <th>jiguang_black_score</th>\n",
       "      <th>xgf</th>\n",
       "      <th>jg_blackscore_label</th>\n",
       "      <th>ml_feature1</th>\n",
       "      <th>ml_feature2</th>\n",
       "      <th>ml_feature3</th>\n",
       "      <th>...</th>\n",
       "      <th>bd4</th>\n",
       "      <th>bd5</th>\n",
       "      <th>family_addr_label</th>\n",
       "      <th>bd6</th>\n",
       "      <th>bd7</th>\n",
       "      <th>bd8</th>\n",
       "      <th>bd9</th>\n",
       "      <th>bd10</th>\n",
       "      <th>bd11</th>\n",
       "      <th>bd12</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>666</td>\n",
       "      <td>359</td>\n",
       "      <td>529</td>\n",
       "      <td>42</td>\n",
       "      <td>NaN</td>\n",
       "      <td>589.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>5.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>672</td>\n",
       "      <td>421</td>\n",
       "      <td>616</td>\n",
       "      <td>51</td>\n",
       "      <td>42.43</td>\n",
       "      <td>751.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>686</td>\n",
       "      <td>521</td>\n",
       "      <td>707</td>\n",
       "      <td>16</td>\n",
       "      <td>NaN</td>\n",
       "      <td>511.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>5.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>5.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>695</td>\n",
       "      <td>392</td>\n",
       "      <td>850</td>\n",
       "      <td>19</td>\n",
       "      <td>NaN</td>\n",
       "      <td>775.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>4.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>731</td>\n",
       "      <td>398</td>\n",
       "      <td>782</td>\n",
       "      <td>19</td>\n",
       "      <td>NaN</td>\n",
       "      <td>377.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>5.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 1236 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   zmscore  jxl_xm_score  kexin_socre  tencent_socre  jiguang_black_score  \\\n",
       "0      666           359          529             42                  NaN   \n",
       "1      672           421          616             51                42.43   \n",
       "2      686           521          707             16                  NaN   \n",
       "3      695           392          850             19                  NaN   \n",
       "4      731           398          782             19                  NaN   \n",
       "\n",
       "     xgf  jg_blackscore_label  ml_feature1  ml_feature2  ml_feature3  ...   \\\n",
       "0  589.0                    0          0.0          0.0          0.0  ...    \n",
       "1  751.0                    1          1.0          0.0          0.0  ...    \n",
       "2  511.0                    0          0.0          0.0          0.0  ...    \n",
       "3  775.0                    0          0.0          0.0          0.0  ...    \n",
       "4  377.0                    0          1.0          0.0          0.0  ...    \n",
       "\n",
       "   bd4  bd5  family_addr_label  bd6  bd7  bd8  bd9  bd10  bd11  bd12  \n",
       "0    0    0                  1  5.0  3.0  2.0  4.0   1.0   1.0   4.0  \n",
       "1    0    0                  1  5.0  2.0  1.0  4.0   2.0   1.0   4.0  \n",
       "2    0    0                  1  5.0  3.0  1.0  5.0   3.0   1.0   5.0  \n",
       "3    0    0                  1  4.0  3.0  2.0  3.0   1.0   2.0   3.0  \n",
       "4    0    0                  1  4.0  1.0  1.0  4.0   1.0   1.0   5.0  \n",
       "\n",
       "[5 rows x 1236 columns]"
      ]
     },
     "execution_count": 301,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_x.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 302,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 302,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 判断标签无空值\n",
    "data_y.isnull().any()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 303,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 取出列标签\n",
    "col = data_x.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 304,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['zmscore', 'jxl_xm_score', 'kexin_socre', 'tencent_socre',\n",
       "       'jiguang_black_score', 'xgf', 'jg_blackscore_label', 'ml_feature1',\n",
       "       'ml_feature2', 'ml_feature3'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 304,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "col[:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 305,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 由于此数据集缺失值太多，无法甄别填充，所以使用xgboost进行训练，但是却发现feature_importances_(特征相关性只有两列overdue_day': 0.97727275,\n",
    "#  'xgf': 0.022727273,有值，似乎xgboost算法不适合次数据集，所以只能采用暴力填充空值为0，在比较各算法优越性。)\n",
    "data_x.fillna(0, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 306,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 标准化数据\n",
    "std = StandardScaler()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 307,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\envs\\p36\\lib\\site-packages\\sklearn\\preprocessing\\data.py:617: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n",
      "  return self.partial_fit(X, y)\n",
      "D:\\anaconda\\envs\\p36\\lib\\site-packages\\sklearn\\base.py:462: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n",
      "  return self.fit(X, **fit_params).transform(X)\n"
     ]
    }
   ],
   "source": [
    "data_x = std.fit_transform(data_x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 308,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0.68422113, -0.80103955, -1.00040131, -0.03368504, -0.27981895,\n",
       "         0.03741564, -0.29367421, -0.43610938, -0.18521213, -0.35793563],\n",
       "       [ 0.83295943,  0.08270644, -0.23225546,  0.39581125,  1.53263963,\n",
       "         1.19131113,  3.40513388,  2.29300276, -0.18521213, -0.35793563],\n",
       "       [ 1.18001548,  1.5081032 ,  0.57120745, -1.27445213, -0.27981895,\n",
       "        -0.51816367, -0.29367421, -0.43610938, -0.18521213, -0.35793563],\n",
       "       [ 1.40312294, -0.33065862,  1.83379201, -1.13128669, -0.27981895,\n",
       "         1.36225861, -0.29367421, -0.43610938, -0.18521213, -0.35793563],\n",
       "       [ 2.29555279, -0.24513482,  1.23340215, -1.13128669, -0.27981895,\n",
       "        -1.47262043, -0.29367421,  2.29300276, -0.18521213, -0.35793563],\n",
       "       [ 0.73380056, -0.50170623, -0.48830407, -1.13128669, -0.27981895,\n",
       "         0.38643341, -0.29367421,  2.29300276, -0.18521213, -0.35793563],\n",
       "       [ 0.28758564, -4.49281716,  1.83379201, -1.22673032, -0.27981895,\n",
       "         0.27959124, -0.29367421, -0.43610938, -0.18521213, -0.35793563],\n",
       "       [-0.03468069,  0.76689688, -0.40884071, -0.98812126, -0.27981895,\n",
       "         0.42204747, -0.29367421, -0.43610938, -0.18521213, -0.35793563],\n",
       "       [ 0.0892679 ,  1.19451591, -1.07103541, -0.51090315, -0.27981895,\n",
       "         1.38362705, -0.29367421,  2.29300276, -0.18521213, -0.35793563],\n",
       "       [-0.00989097,  1.0662302 ,  1.83379201, -0.74951221, -0.27981895,\n",
       "         1.14145145, -0.29367421, -0.43610938, -0.18521213, -0.35793563]])"
      ]
     },
     "execution_count": 308,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 标准化后的数据， 不含y标签\n",
    "data_x[:10, :10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 309,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(5970, 1237)"
      ]
     },
     "execution_count": 309,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 把标签重新加上\n",
    "data_x = pd.DataFrame(data_x, columns=col)\n",
    "data_x.head()\n",
    "data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 310,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用随机森林（feature_importances_）进行相关性特征分析\n",
    "rf = RandomForestClassifier()\n",
    "xgb = XGBClassifier()\n",
    "gbdt = GradientBoostingClassifier()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 311,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\envs\\p36\\lib\\site-packages\\sklearn\\ensemble\\forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\n",
       "            max_depth=None, max_features='auto', max_leaf_nodes=None,\n",
       "            min_impurity_decrease=0.0, min_impurity_split=None,\n",
       "            min_samples_leaf=1, min_samples_split=2,\n",
       "            min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=None,\n",
       "            oob_score=False, random_state=None, verbose=0,\n",
       "            warm_start=False)"
      ]
     },
     "execution_count": 311,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rf.fit(data_x, data_y)\n",
    "# xgb.fit(data_x, data_y)\n",
    "# data_x.head()\n",
    "# data_y.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 312,
   "metadata": {},
   "outputs": [],
   "source": [
    "feature = rf.feature_importances_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 313,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'zmscore': 0.009843585732993983,\n",
       " 'jxl_xm_score': 0.00691499336470007,\n",
       " 'kexin_socre': 0.011310034316443906,\n",
       " 'tencent_socre': 0.01261430243010057,\n",
       " 'jiguang_black_score': 0.014124927828665364,\n",
       " 'xgf': 0.019357079615043165,\n",
       " 'jg_blackscore_label': 0.0020500530374410885,\n",
       " 'ml_feature1': 0.0,\n",
       " 'ml_feature2': 0.0,\n",
       " 'ml_feature3': 0.0001703720609812493,\n",
       " 'ml_feature4': 7.108510026552989e-05,\n",
       " 'ml_feature5': 0.0006681301914497946,\n",
       " 'ml_feature6': 0.00042301604628966743,\n",
       " 'ml_feature7': 0.0004639266853787863,\n",
       " 'ml_feature50': 0.0011029635494306795,\n",
       " 'ml_feature8': 0.0013772742182631128,\n",
       " 'ml_feature9': 0.0001681316144415723,\n",
       " 'ml_feature10': 0.0013690780504608487,\n",
       " 'ml_feature11': 0.001309494241366408,\n",
       " 'ml_feature12': 0.002499870561092711,\n",
       " 'ml_feature13': 0.0005948461630420436,\n",
       " 'ml_feature14': 0.004610443622904242,\n",
       " 'ml_feature15': 0.0010460910004317977,\n",
       " 'ml_feature16': 0.0007418999257648662,\n",
       " 'ml_feature17': 0.0,\n",
       " 'ml_feature18': 0.002016476243071631,\n",
       " 'ml_feature19': 0.004732392630931741,\n",
       " 'ml_feature20': 0.00684004990220746,\n",
       " 'ml_feature21': 0.0053961053240382355,\n",
       " 'ml_feature22': 0.0030695955081995983,\n",
       " 'ml_feature23': 0.001305329604578756,\n",
       " 'ml_feature24': 0.0031639473816021516,\n",
       " 'ml_feature25': 0.002364260305816662,\n",
       " 'ml_feature26': 0.002779929235033425,\n",
       " 'ml_feature27': 0.0020145581754558786,\n",
       " 'ml_feature28': 0.0002924003731464266,\n",
       " 'ml_feature29': 0.0017978547000693159,\n",
       " 'ml_feature30': 0.002324489670270501,\n",
       " 'ml_feature31': 0.0014173519778125213,\n",
       " 'ml_feature32': 0.0033229407417533718,\n",
       " 'ml_feature33': 0.002579915462330257,\n",
       " 'ml_feature34': 0.0009311006472796934,\n",
       " 'ml_feature35': 0.0017648264424823367,\n",
       " 'ml_feature36': 0.003293489699734896,\n",
       " 'ml_feature37': 0.001231781362474608,\n",
       " 'ml_feature38': 0.003729336936568324,\n",
       " 'ml_feature39': 0.0019226014846425576,\n",
       " 'ml_feature40': 0.002001386478061494,\n",
       " 'ml_feature41': 0.0016594258642432323,\n",
       " 'ml_feature42': 0.0019659051713159558,\n",
       " 'ml_feature43': 0.0032120607570260097,\n",
       " 'ml_feature44': 0.0074074538880195065,\n",
       " 'ml_feature45': 0.00415607092499561,\n",
       " 'ml_feature46': 0.003399188571615655,\n",
       " 'ml_feature47': 0.006167512365815579,\n",
       " 'ml_feature48': 0.005810520477771224,\n",
       " 'ml_feature49': 0.0026024743658565313,\n",
       " 'dg_feature1': 0.00011552074816838348,\n",
       " 'dg_feature2': 0.0,\n",
       " 'dg_feature3': 0.0001739596404761996,\n",
       " 'dg_feature4': 0.0006629178757958902,\n",
       " 'dg_feature5': 0.00027330191957767105,\n",
       " 'dg_feature6': 0.005897814310760461,\n",
       " 'dg_feature7': 0.003967007820033223,\n",
       " 'dg_feature8': 0.0006442348168556976,\n",
       " 'dg_feature9': 0.00011638187677786153,\n",
       " 'dg_feature10': 0.0,\n",
       " 'dg_feature11': 0.000713807908211844,\n",
       " 'dg_feature12': 0.00028109639988374785,\n",
       " 'dg_feature13': 0.0016263209709262553,\n",
       " 'dg_feature14': 0.00027181914441189723,\n",
       " 'dg_feature15': 0.0,\n",
       " 'dg_feature16': 0.000543829417681961,\n",
       " 'dg_feature17': 0.00020969397324768557,\n",
       " 'dg_feature18': 0.0002570980554798613,\n",
       " 'dg_feature19': 0.00025103629136717095,\n",
       " 'dg_feature20': 0.0,\n",
       " 'dg_feature21': 0.0,\n",
       " 'dg_feature22': 0.00013496490508481352,\n",
       " 'dg_feature23': 0.0,\n",
       " 'dg_feature24': 0.0015837757905855434,\n",
       " 'dg_feature25': 0.006011157664873217,\n",
       " 'dg_feature26': 0.0022080782044361907,\n",
       " 'dg_feature27': 0.006981916609085308,\n",
       " 'dg_feature28': 0.002031928146084212,\n",
       " 'dg_feature29': 0.0009962467624237185,\n",
       " 'dg_feature30': 9.284564287614275e-05,\n",
       " 'dg_feature31': 0.00480471658693679,\n",
       " 'dg_feature32': 0.002950656426856928,\n",
       " 'dg_feature33': 0.001458800597695368,\n",
       " 'dg_feature34': 0.0013109578369659837,\n",
       " 'dg_feature35': 0.0,\n",
       " 'dg_feature36': 0.00034906273264130854,\n",
       " 'dg_feature37': 0.0,\n",
       " 'dg_feature38': 0.00030160790061388107,\n",
       " 'dg_feature39': 0.0,\n",
       " 'dg_feature40': 0.0006257540136885765,\n",
       " 'dg_feature41': 0.0009736792834330257,\n",
       " 'dg_feature42': 0.003501949460921116,\n",
       " 'dg_feature43': 0.002423498085320531,\n",
       " 'dg_feature44': 0.0015026033283217183,\n",
       " 'dg_feature45': 0.0,\n",
       " 'dg_feature46': 0.0,\n",
       " 'dg_feature47': 0.0006292205619230521,\n",
       " 'dg_feature48': 0.0005065631492676638,\n",
       " 'dg_feature49': 0.00020284917486530708,\n",
       " 'dg_feature50': 0.0007649625311145779,\n",
       " 'dg_feature51': 0.0008836436778527895,\n",
       " 'im_feature1': 0.0010440600428458016,\n",
       " 'im_feature2': 0.000710788491060945,\n",
       " 'im_feature3': 0.0011922539178995711,\n",
       " 'im_feature4': 0.0018338844485754377,\n",
       " 'im_feature5': 0.0016409950711836437,\n",
       " 'so_feature1': 1.6548461587653182e-06,\n",
       " 'so_feature2': 0.0008638271451880194,\n",
       " 'so_feature3': 0.00033235579317619904,\n",
       " 'so_feature4': 9.714239366176496e-06,\n",
       " 'so_feature5': 0.0010124199915787714,\n",
       " 'so_feature6': 0.0010815671725179971,\n",
       " 'ap_feature4': 0.001077417970359742,\n",
       " 'ap_feature5': 0.0006443167850627683,\n",
       " 'ap_feature2': 0.0011675726276017134,\n",
       " 'ap_feature6': 0.0012771181232111282,\n",
       " 'ap_feature10': 0.0011246840102615485,\n",
       " 'ap_feature3': 0.0013823596981115478,\n",
       " 'ap_feature13': 0.001626697091189512,\n",
       " 'ap_feature1': 0.0020251290693711014,\n",
       " 'ap_feature7': 0.0023395127317344545,\n",
       " 'ap_feature8': 0.001945635992026499,\n",
       " 'ap_feature9': 0.0017431179672415832,\n",
       " 'ap_feature11': 0.00260579047997716,\n",
       " 'ap_feature12': 0.001354469733146249,\n",
       " 'ap_feature14': 0.0018507823223273111,\n",
       " 'ap_feature15': 0.00273960054183437,\n",
       " 'ap_feature16': 0.002641967058611145,\n",
       " 'ap_feature17': 0.001593065267114227,\n",
       " 'ap_feature32': 0.0018378820573509108,\n",
       " 'ap_feature18': 0.0040285394332413935,\n",
       " 'ap_feature19': 0.002187081019858742,\n",
       " 'ap_feature20': 0.0022922273988198903,\n",
       " 'ap_feature21': 0.0014216807261847395,\n",
       " 'ap_feature22': 0.0023615982094717667,\n",
       " 'ap_feature23': 0.0018165141588080802,\n",
       " 'ap_feature24': 0.002604903937564647,\n",
       " 'ap_feature25': 0.0018748747353167596,\n",
       " 'ap_feature26': 0.0025554454913050534,\n",
       " 'ap_feature27': 0.0020009505110826138,\n",
       " 'ap_feature28': 0.0009148410771939421,\n",
       " 'ap_feature29': 0.0015028751381487352,\n",
       " 'ap_feature30': 0.0033073554110243627,\n",
       " 'ap_feature31': 0.0012437386837081438,\n",
       " 'cc_feature9': 0.001143140608774235,\n",
       " 'cc_feature13': 0.00012550217548918277,\n",
       " 'cc_feature28': 0.002866133914976452,\n",
       " 'cc_feature7': 0.0007243172695029261,\n",
       " 'cc_feature15': 7.209361336277011e-05,\n",
       " 'cc_feature10': 0.0022929076708231204,\n",
       " 'cc_feature14': 0.0,\n",
       " 'cc_feature31': 0.0017739626711694024,\n",
       " 'cc_feature27': 0.0022210416381349394,\n",
       " 'cc_feature1': 0.001365622497267887,\n",
       " 'cc_feature5': 0.0009157646350948226,\n",
       " 'cc_feature20': 0.0006244608334699108,\n",
       " 'cc_feature8': 0.0018322255268927612,\n",
       " 'cc_feature17': 0.0017281917678090327,\n",
       " 'cc_feature3': 0.004346969614598789,\n",
       " 'cc_feature26': 0.001065114413557848,\n",
       " 'cc_feature19': 0.003987448870884938,\n",
       " 'cc_feature4': 0.002191883038514824,\n",
       " 'cc_feature18': 0.0012959745608140609,\n",
       " 'cc_feature11': 0.0011324845217135417,\n",
       " 'cc_feature6': 0.001128985178969093,\n",
       " 'cc_feature16': 0.0007387278735369109,\n",
       " 'cc_feature23': 0.0026409411652185736,\n",
       " 'cc_feature29': 0.0032532666600297022,\n",
       " 'cc_feature25': 0.0022258425807169086,\n",
       " 'cc_feature22': 0.0024932956942263465,\n",
       " 'cc_feature30': 0.0022791277274550716,\n",
       " 'cc_feature21': 0.0009008418731265491,\n",
       " 'cc_feature12': 0.002233061439611689,\n",
       " 'cc_feature2': 0.0009295714862827334,\n",
       " 'cc_feature24': 0.002277668772724615,\n",
       " 'op_feature1': 0.0018749624990600177,\n",
       " 'op_feature2': 0.004860241831362522,\n",
       " 'op_feature3': 0.005202381197915358,\n",
       " 'op_feature4': 0.002296477221260779,\n",
       " 'op_feature5': 0.0021399596898343245,\n",
       " 'op_feature6': 0.004230425129710967,\n",
       " 'op_feature7': 0.003946114056363673,\n",
       " 'op_feature8': 0.006532805724288178,\n",
       " 'op_feature9': 0.006370553269620388,\n",
       " 'op_feature10': 0.003147413848276526,\n",
       " 'op_feature11': 0.005127058583917464,\n",
       " 'op_feature12': 0.004567764454616601,\n",
       " 'op_feature13': 0.004859824461637455,\n",
       " 'op_feature14': 0.0042616585504605545,\n",
       " 'op_feature15': 0.003444942770411411,\n",
       " 'op_feature16': 0.0020737781088182245,\n",
       " 'op_feature17': 0.0052246906320367525,\n",
       " 'op_feature18': 0.0032657761211545263,\n",
       " 'op_feature19': 0.000402372867651122,\n",
       " 'op_feature20': 0.00104955855526638,\n",
       " 'op_feature21': 0.0025097558670841044,\n",
       " 'op_feature22': 0.0,\n",
       " 'op_feature23': 0.00017093079726491695,\n",
       " 'op_feature24': 0.0002458449959162616,\n",
       " 'op_feature25': 0.0,\n",
       " 'op_feature26': 0.0017130527930495428,\n",
       " 'op_feature27': 6.773254987906139e-05,\n",
       " 'op_feature28': 0.002284087848494632,\n",
       " 'op_feature29': 0.004760415944405328,\n",
       " 'op_feature30': 0.00690697793982221,\n",
       " 'op_feature31': 0.004819068198534232,\n",
       " 'op_feature32': 0.0028129832916399164,\n",
       " 'op_feature33': 0.0048799926194815005,\n",
       " 'op_feature34': 0.004036003186135088,\n",
       " 'op_feature35': 0.00250999881036294,\n",
       " 'op_feature36': 0.006170804825717584,\n",
       " 'op_feature37': 0.0009846997069516783,\n",
       " 'op_feature38': 0.0034419022136903724,\n",
       " 'op_feature39': 0.003480941811021978,\n",
       " 'op_feature40': 0.005331848080389665,\n",
       " 'op_feature41': 0.0036292542067721803,\n",
       " 'op_feature42': 0.0031944538302549237,\n",
       " 'op_feature43': 0.0041074066477905765,\n",
       " 'op_feature44': 0.002630086620916516,\n",
       " 'op_feature45': 0.005326645099151426,\n",
       " 'op_feature46': 0.0009194899025348482,\n",
       " 'op_feature47': 0.003972319838217308,\n",
       " 'op_feature48': 0.002886970608229421,\n",
       " 'op_feature49': 0.000313058787247776,\n",
       " 'op_feature50': 6.629803953321353e-05,\n",
       " 'op_feature51': 0.0,\n",
       " 'op_feature52': 0.0004951275782201385,\n",
       " 'op_feature53': 0.0002614182130544865,\n",
       " 'op_feature54': 0.0026735003206498713,\n",
       " 'op_feature55': 0.0010991144849705546,\n",
       " 'op_feature56': 0.0016942078966317672,\n",
       " 'op_feature57': 0.0030608523956319675,\n",
       " 'op_feature58': 0.0007806798622881986,\n",
       " 'op_feature59': 0.0003153994499019876,\n",
       " 'op_feature60': 0.0018829582865705601,\n",
       " 'op_feature61': 0.00041615277631854356,\n",
       " 'op_feature62': 0.0008078264931953424,\n",
       " 'op_feature63': 0.0017444380040735387,\n",
       " 'op_feature64': 0.0006275286946347805,\n",
       " 'op_feature65': 0.0008722766806025857,\n",
       " 'op_feature66': 0.00020165172011957227,\n",
       " 'op_feature67': 0.0009112047191171993,\n",
       " 'op_feature68': 0.00021281235840037876,\n",
       " 'op_feature69': 0.0011871026777342656,\n",
       " 'op_feature70': 0.0002541955651978743,\n",
       " 'op_feature71': 0.00022429085999410743,\n",
       " 'op_feature72': 0.00022908965965698618,\n",
       " 'max_interval': 0.0014640865657783468,\n",
       " 'monthly_avg_days': 0.0031647228861257635,\n",
       " 'both_call_cnt': 0.005919156863526759,\n",
       " 'talk_cnt': 0.0038455133175903065,\n",
       " 'month': 0.004177125692111637,\n",
       " 'tel': 0.005392581579248409,\n",
       " '_COL2': 0.0036471656806915513,\n",
       " '_COL3': 0.004930173397857996,\n",
       " '_COL4': 0.0032219287210402655,\n",
       " '_COL5': 0.006824381888353314,\n",
       " '_COL6': 0.0015119852265034009,\n",
       " '_COL7': 0.006931828371440282,\n",
       " '_COL8': 0.00468542305271263,\n",
       " '_COL9': 0.005831907749696288,\n",
       " '_COL11': 0.008046419045591089,\n",
       " '_COL12': 0.0,\n",
       " '_COL13': 0.00426299194815319,\n",
       " '_COL14': 0.007615276815840126,\n",
       " '_COL15': 0.0055357722715659655,\n",
       " '_COL16': 0.005637251356709387,\n",
       " '_COL17': 0.0,\n",
       " '_COL18': 0.0,\n",
       " '_COL19': 0.006110847290552043,\n",
       " '_COL20': 0.0001488896171467323,\n",
       " '_COL21': 0.0005180601179532756,\n",
       " '_COL22': 0.0018203938688430075,\n",
       " '_COL23': 0.0,\n",
       " '_COL24': 0.0007209698635758912,\n",
       " '_COL25': 0.0,\n",
       " '_COL26': 0.015066516524717253,\n",
       " '_COL27': 0.0007985641384466193,\n",
       " '_COL28': 0.00013275310696981825,\n",
       " '_COL29': 0.0010370678989688052,\n",
       " '_COL30': 0.0019750331690971614,\n",
       " 'rf2': 0.0003159557358541353,\n",
       " 'rf3': 0.0007194969331545083,\n",
       " 'rf4': 0.0009841188118856863,\n",
       " 'rf5': 0.0005103795145203551,\n",
       " 'rf6': 0.0,\n",
       " 'rf7': 0.0,\n",
       " 'rf8': 0.006451759204213689,\n",
       " 'rf9': 0.006185222921418257,\n",
       " 'rf10': 0.00137497345655278,\n",
       " 'rf11': 0.0009271871902503783,\n",
       " 'rf12': 0.0019560469071851013,\n",
       " 'rf13': 0.00249719252818368,\n",
       " 'rf14': 0.004505300887869726,\n",
       " 'rf15': 0.0027134448549871694,\n",
       " 'rf16': 0.005123095685005677,\n",
       " 'rf17': 0.004302677196225055,\n",
       " 'rf18': 0.0038900562079134207,\n",
       " 'rf19': 0.0012622675102704733,\n",
       " 'rf20': 0.003786556092063801,\n",
       " 'rf21': 0.002687897062027012,\n",
       " 'rf22': 0.0037948343598202066,\n",
       " 'rf23': 0.002189405156497087,\n",
       " 'rf24': 0.004581311185824987,\n",
       " 'ASSETS_Own_Car': 9.929076952591648e-05,\n",
       " 'ASSETS_Own_Car_0M': 0.0,\n",
       " 'ASSETS_Own_Car_1M': 0.00017518200055459602,\n",
       " 'ASSETS_Own_Car_3M': 0.00011181074704361862,\n",
       " 'ASSETS_Own_Car_6M': 0.0004990200009395453,\n",
       " 'ASSETS_Own_House': 0.0,\n",
       " 'ASSETS_Own_House_0M': 0.0,\n",
       " 'ASSETS_Own_House_1M': 0.0,\n",
       " 'ASSETS_Own_House_3M': 0.0,\n",
       " 'ASSETS_Own_House_6M': 0.0,\n",
       " 'ASSETS_Rent_House': 0.00010922081218247748,\n",
       " 'ASSETS_Rent_House_0M': 0.0004571869764738109,\n",
       " 'ASSETS_Rent_House_1M': 0.0,\n",
       " 'ASSETS_Rent_House_3M': 0.00020575277196724226,\n",
       " 'ASSETS_Rent_House_6M': 0.0002673213025697752,\n",
       " 'BOOK_Comic': 0.0,\n",
       " 'BOOK_Comic_0M': 0.0,\n",
       " 'BOOK_Comic_1M': 0.0,\n",
       " 'BOOK_Comic_3M': 0.00012860911231358483,\n",
       " 'BOOK_Comic_6M': 0.00012004564711605664,\n",
       " 'BOOK_Novel': 0.0006335815500665058,\n",
       " 'BOOK_Novel_0M': 0.000294116222217533,\n",
       " 'BOOK_Novel_1M': 0.0,\n",
       " 'BOOK_Novel_3M': 9.360333443229392e-05,\n",
       " 'BOOK_Novel_6M': 0.0006094563028405224,\n",
       " 'BOOK_Novel_Fantasy': 0.0001926756002131171,\n",
       " 'BOOK_Novel_Fantasy_0M': 0.0,\n",
       " 'BOOK_Novel_Fantasy_1M': 0.0,\n",
       " 'BOOK_Novel_Fantasy_3M': 0.00024825293944472055,\n",
       " 'BOOK_Novel_Fantasy_6M': 8.003614714835354e-05,\n",
       " 'BOOK_Novel_Romance': 0.0,\n",
       " 'BOOK_Novel_Romance_0M': 0.0006188729019715277,\n",
       " 'BOOK_Novel_Romance_1M': 0.0003607360603979136,\n",
       " 'BOOK_Novel_Romance_3M': 0.000124785141147606,\n",
       " 'BOOK_Novel_Romance_6M': 0.0005122599962806602,\n",
       " 'BUS_BusinessCard': 0.0,\n",
       " 'BUS_BusinessCard_0M': 0.00013569710149192717,\n",
       " 'BUS_BusinessCard_1M': 0.0,\n",
       " 'BUS_BusinessCard_3M': 0.0,\n",
       " 'BUS_BusinessCard_6M': 0.00023819592754016476,\n",
       " 'BUS_Calculator': 0.0,\n",
       " 'BUS_Calculator_0M': 0.0,\n",
       " 'BUS_Calculator_1M': 0.0001295423260513211,\n",
       " 'BUS_Calculator_3M': 0.0,\n",
       " 'BUS_Calculator_6M': 0.0,\n",
       " 'BUS_Note': 0.0,\n",
       " 'BUS_Note_0M': 0.00014529844140319137,\n",
       " 'BUS_Note_1M': 0.00017383874750595676,\n",
       " 'BUS_Note_3M': 9.736267032045773e-05,\n",
       " 'BUS_Note_6M': 0.0,\n",
       " 'BUS_Reader': 0.0,\n",
       " 'BUS_Reader_0M': 0.0,\n",
       " 'BUS_Reader_1M': 0.0,\n",
       " 'BUS_Reader_3M': 0.0,\n",
       " 'BUS_Reader_6M': 0.0,\n",
       " 'BUS_Soft_Communication_Meeting': 0.0,\n",
       " 'BUS_Soft_Communication_Meeting_0': 0.0,\n",
       " 'BUS_Soft_Communication_Meeting_1': 0.00021106268772519502,\n",
       " 'BUS_Soft_Communication_Meeting_3': 0.0,\n",
       " 'BUS_Soft_Communication_Meeting_6': 0.0005086509184061502,\n",
       " 'BUS_Soft_Document': 0.00032007978233868556,\n",
       " 'BUS_Soft_Document_0M': 0.000754412324654386,\n",
       " 'BUS_Soft_Document_1M': 0.0003199643494466422,\n",
       " 'BUS_Soft_Document_3M': 0.0015062881860748735,\n",
       " 'BUS_Soft_Document_6M': 0.0004459673494521558,\n",
       " 'BUS_Soft_Efficient': 3.299663613374816e-05,\n",
       " 'BUS_Soft_Efficient_0M': 0.00019715940739892685,\n",
       " 'BUS_Soft_Efficient_1M': 0.0,\n",
       " 'BUS_Soft_Efficient_3M': 0.0,\n",
       " 'BUS_Soft_Efficient_6M': 0.0,\n",
       " 'BUS_Software': 0.00050900636763182,\n",
       " 'BUS_Software_0M': 0.00025923936671987574,\n",
       " 'BUS_Software_1M': 0.0010519793985213353,\n",
       " 'BUS_Software_3M': 0.00013813112768284015,\n",
       " 'BUS_Software_6M': 0.0002891902015922486,\n",
       " 'DEVICE_Stability_0M': 0.002546342541269857,\n",
       " 'DEVICE_Stability_1M': 0.002456634230322742,\n",
       " 'DEVICE_Stability_3M': 0.0016601799854762962,\n",
       " 'DEVICE_Stability_6M': 0.001864272351635623,\n",
       " 'EDU_Books': 0.0003550047984685555,\n",
       " 'EDU_Books_0M': 0.00045339726955324075,\n",
       " 'EDU_Books_1M': 0.0005808342351976343,\n",
       " 'EDU_Books_3M': 0.0006012486788462481,\n",
       " 'EDU_Books_6M': 0.00048002132696634627,\n",
       " 'EDU_Child': 0.0004711637069991272,\n",
       " 'EDU_Child_0M': 0.00010338786081469,\n",
       " 'EDU_Child_1M': 0.00034766185889199564,\n",
       " 'EDU_Child_3M': 0.0,\n",
       " 'EDU_Child_6M': 0.00016116397077704306,\n",
       " 'EDU_Exams': 0.00019031788929791462,\n",
       " 'EDU_Exams_0M': 0.00012479228815293915,\n",
       " 'EDU_Exams_1M': 0.0,\n",
       " 'EDU_Exams_3M': 0.0001359559945691696,\n",
       " 'EDU_Exams_6M': 0.0002554101495544073,\n",
       " 'EDU_Language': 0.0007252838284504861,\n",
       " 'EDU_Language_0M': 0.00035145354604722084,\n",
       " 'EDU_Language_1M': 0.000203725200801206,\n",
       " 'EDU_Language_3M': 0.0005524064008030667,\n",
       " 'EDU_Language_6M': 0.0,\n",
       " 'EDU_Online': 5.283104375451418e-06,\n",
       " 'EDU_Online_0M': 0.0003686165791777238,\n",
       " 'EDU_Online_1M': 0.0,\n",
       " 'EDU_Online_3M': 0.0,\n",
       " 'EDU_Online_6M': 0.0,\n",
       " 'EDU_STUDY_Invest': 0.0,\n",
       " 'EDU_STUDY_Invest_0M': 0.0,\n",
       " 'EDU_STUDY_Invest_1M': 0.00014267333901021888,\n",
       " 'EDU_STUDY_Invest_3M': 0.0,\n",
       " 'EDU_STUDY_Invest_6M': 0.00016649120402172248,\n",
       " 'EDU_Student': 0.00036887541824646037,\n",
       " 'EDU_Student_0M': 0.0004031300048596847,\n",
       " 'EDU_Student_1M': 0.00025102600654134484,\n",
       " 'EDU_Student_3M': 0.00017864640484469325,\n",
       " 'EDU_Student_6M': 0.00012942222449025104,\n",
       " 'FIN_Bank': 0.001300390544710101,\n",
       " 'FIN_Bank_0M': 0.001492057063413829,\n",
       " 'FIN_Bank_1M': 0.0006549813245233015,\n",
       " 'FIN_Bank_3M': 0.00022846018118439547,\n",
       " 'FIN_Bank_6M': 0.0001267126130579317,\n",
       " 'FIN_Bank_Creditcard': 0.00011170211571665605,\n",
       " 'FIN_Bank_Creditcard_0M': 0.00047669065656297076,\n",
       " 'FIN_Bank_Creditcard_1M': 0.00027737245409108143,\n",
       " 'FIN_Bank_Creditcard_3M': 0.00013007310675081937,\n",
       " 'FIN_Bank_Creditcard_6M': 0.0003947274697366588,\n",
       " 'FIN_Bank_Type_Commercial': 0.0001489361542888747,\n",
       " 'FIN_Bank_Type_Commercial_0M': 0.0,\n",
       " 'FIN_Bank_Type_Commercial_1M': 0.0001342877108542553,\n",
       " 'FIN_Bank_Type_Commercial_3M': 0.0,\n",
       " 'FIN_Bank_Type_Commercial_6M': 0.0,\n",
       " 'FIN_Bank_Type_Foreign': 0.0,\n",
       " 'FIN_Bank_Type_Foreign_0M': 0.0,\n",
       " 'FIN_Bank_Type_Foreign_1M': 0.0,\n",
       " 'FIN_Bank_Type_Foreign_3M': 0.0,\n",
       " 'FIN_Bank_Type_Foreign_6M': 0.0,\n",
       " 'FIN_Bank_Type_Industrial': 0.0,\n",
       " 'FIN_Bank_Type_Industrial_0M': 0.0,\n",
       " 'FIN_Bank_Type_Industrial_1M': 0.0,\n",
       " 'FIN_Bank_Type_Industrial_3M': 0.0,\n",
       " 'FIN_Bank_Type_Industrial_6M': 0.0,\n",
       " 'FIN_Bank_Type_Internet': 0.0004317224765697654,\n",
       " 'FIN_Bank_Type_Internet_0M': 0.00035967900931068857,\n",
       " 'FIN_Bank_Type_Internet_1M': 0.0003839149118196715,\n",
       " 'FIN_Bank_Type_Internet_3M': 0.0003093834469059468,\n",
       " 'FIN_Bank_Type_Internet_6M': 0.0005170930979997272,\n",
       " 'FIN_Bank_Type_Rural': 0.0,\n",
       " 'FIN_Bank_Type_Rural_0M': 0.0,\n",
       " 'FIN_Bank_Type_Rural_1M': 0.0,\n",
       " 'FIN_Bank_Type_Rural_3M': 0.0,\n",
       " 'FIN_Bank_Type_Rural_6M': 0.0,\n",
       " 'FIN_Bank_Type_ShareCommercial': 3.226950009592279e-05,\n",
       " 'FIN_Bank_Type_ShareCommercial_0M': 0.0,\n",
       " 'FIN_Bank_Type_ShareCommercial_1M': 0.0,\n",
       " 'FIN_Bank_Type_ShareCommercial_3M': 0.0,\n",
       " 'FIN_Bank_Type_ShareCommercial_6M': 0.0,\n",
       " 'FIN_Bank_Type_Sharehold': 0.0007292785533623843,\n",
       " 'FIN_Bank_Type_Sharehold_0M': 0.0006725352903272809,\n",
       " 'FIN_Bank_Type_Sharehold_1M': 0.0007661143152125589,\n",
       " 'FIN_Bank_Type_Sharehold_3M': 0.0007521765133384343,\n",
       " 'FIN_Bank_Type_Sharehold_6M': 0.0001353151226537623,\n",
       " 'FIN_Bank_Type_StateCommercial': 0.0006519960249737162,\n",
       " 'FIN_Bank_Type_StateCommercial_0M': 0.0002804174909822183,\n",
       " 'FIN_Bank_Type_StateCommercial_1M': 0.0009502525988141781,\n",
       " 'FIN_Bank_Type_StateCommercial_3M': 0.0004108916964721852,\n",
       " 'FIN_Bank_Type_StateCommercial_6M': 0.0002118203083219552,\n",
       " 'FIN_Bank_Type_Town': 0.0,\n",
       " 'FIN_Bank_Type_TownCredit': 0.0004085037824060352,\n",
       " 'FIN_Bank_Type_TownCredit_0M': 0.0003666821774688278,\n",
       " 'FIN_Bank_Type_TownCredit_1M': 0.0,\n",
       " 'FIN_Bank_Type_TownCredit_3M': 0.0,\n",
       " 'FIN_Bank_Type_TownCredit_6M': 0.0,\n",
       " 'FIN_Bank_Type_Town_0M': 0.0,\n",
       " 'FIN_Bank_Type_Town_1M': 0.0,\n",
       " 'FIN_Bank_Type_Town_3M': 0.0,\n",
       " 'FIN_Bank_Type_Town_6M': 0.0,\n",
       " 'FIN_Bank_Type_Urban': 0.0005540984868638585,\n",
       " 'FIN_Bank_Type_Urban_0M': 0.0,\n",
       " 'FIN_Bank_Type_Urban_1M': 0.0,\n",
       " 'FIN_Bank_Type_Urban_3M': 0.0,\n",
       " 'FIN_Bank_Type_Urban_6M': 0.0,\n",
       " 'FIN_Debit_PCT': 0.0023812101672281566,\n",
       " 'FIN_Debit_PCT_0M': 0.0030511348021662684,\n",
       " 'FIN_Debit_PCT_1M': 0.0027795447356288674,\n",
       " 'FIN_Debit_PCT_3M': 0.000987411699906096,\n",
       " 'FIN_Debit_PCT_6M': 0.002436726513613336,\n",
       " 'FIN_Finance': 0.0005984306699770828,\n",
       " 'FIN_Finance_0M': 0.0006580127085735689,\n",
       " 'FIN_Finance_1M': 0.00044044767587940253,\n",
       " 'FIN_Finance_3M': 0.0009265361199912045,\n",
       " 'FIN_Finance_6M': 0.0009241969213144612,\n",
       " 'FIN_Invest_Loan': 0.00025666370029073547,\n",
       " 'FIN_Invest_Loan_0M': 0.0,\n",
       " 'FIN_Invest_Loan_1M': 0.0,\n",
       " 'FIN_Invest_Loan_3M': 0.0,\n",
       " 'FIN_Invest_Loan_6M': 0.0,\n",
       " 'FIN_Invest_PCT': 0.0015242703329300701,\n",
       " 'FIN_Invest_PCT_0M': 0.0011040140666725938,\n",
       " 'FIN_Invest_PCT_1M': 0.0005894841269740954,\n",
       " 'FIN_Invest_PCT_3M': 0.0007591589367258776,\n",
       " 'FIN_Invest_PCT_6M': 0.0013479423236200157,\n",
       " 'FIN_Investing': 0.0010025270865006899,\n",
       " 'FIN_Investing_0M': 0.0002562110678203138,\n",
       " 'FIN_Investing_1M': 0.0002832865781689899,\n",
       " 'FIN_Investing_3M': 0.0002561108512989539,\n",
       " 'FIN_Investing_6M': 0.00023446201410097525,\n",
       " 'FIN_Loan': 0.0009193984493765477,\n",
       " 'FIN_Loan_0M': 0.0023782091205309585,\n",
       " 'FIN_Loan_1M': 0.0006525997077849845,\n",
       " 'FIN_Loan_3M': 0.0007484170619053995,\n",
       " 'FIN_Loan_6M': 0.0009167081910180569,\n",
       " 'FIN_Loan_Car': 0.00011897970715895382,\n",
       " 'FIN_Loan_Car_0M': 0.0,\n",
       " 'FIN_Loan_Car_1M': 0.0,\n",
       " 'FIN_Loan_Car_3M': 0.0,\n",
       " 'FIN_Loan_Car_6M': 0.0,\n",
       " 'FIN_Loan_Cash': 0.0007548211727791538,\n",
       " 'FIN_Loan_Cash_0M': 0.0,\n",
       " 'FIN_Loan_Cash_1M': 0.0,\n",
       " 'FIN_Loan_Cash_3M': 0.0,\n",
       " 'FIN_Loan_Cash_6M': 0.0,\n",
       " 'FIN_Loan_Consumer': 0.0019247282781468748,\n",
       " 'FIN_Loan_Consumer_0M': 0.0004106998590490598,\n",
       " 'FIN_Loan_Consumer_1M': 0.00011683520438454924,\n",
       " 'FIN_Loan_Consumer_3M': 0.0,\n",
       " 'FIN_Loan_Consumer_6M': 0.0,\n",
       " 'FIN_Loan_CreditCard': 0.0012281110912296862,\n",
       " 'FIN_Loan_CreditCard_0M': 0.00027511959092852643,\n",
       " 'FIN_Loan_CreditCard_1M': 0.00031509506277623554,\n",
       " 'FIN_Loan_CreditCard_3M': 0.0002400390453010492,\n",
       " 'FIN_Loan_CreditCard_6M': 0.0002179002472065008,\n",
       " 'FIN_Loan_House': 0.00013036159092339806,\n",
       " 'FIN_Loan_House_1M': 0.0,\n",
       " 'FIN_Loan_House_3M': 0.0,\n",
       " 'FIN_Loan_House_6M': 0.0,\n",
       " 'FIN_Loan_Mortgage': 0.0,\n",
       " 'FIN_Loan_Mortgage_1M': 0.0,\n",
       " 'FIN_Loan_Other': 0.0006864160886603585,\n",
       " 'FIN_Loan_Other_0M': 1.4895726903121023e-05,\n",
       " 'FIN_Loan_Other_1M': 0.0,\n",
       " 'FIN_Loan_Other_3M': 9.684301503937954e-05,\n",
       " 'FIN_Loan_Other_6M': 0.0004392265199866105,\n",
       " 'FIN_Loan_P2P': 0.0008154411210283107,\n",
       " 'FIN_Loan_P2P_0M': 0.00011640078498665764,\n",
       " 'FIN_Loan_P2P_1M': 6.084556736779521e-05,\n",
       " 'FIN_Loan_P2P_3M': 0.00035859545915213,\n",
       " 'FIN_Loan_P2P_6M': 0.0001711144336593801,\n",
       " 'FIN_Loan_Plantform': 0.0018371920953605208,\n",
       " 'FIN_Loan_Plantform_0M': 9.522442338979804e-05,\n",
       " 'FIN_Loan_Plantform_1M': 0.0,\n",
       " 'FIN_Loan_Plantform_3M': 0.0004875591683362639,\n",
       " 'FIN_Loan_Plantform_6M': 0.00026385154063472184,\n",
       " 'FIN_Loan_Small': 0.00035560522811802506,\n",
       " 'FIN_Loan_Small_0M': 0.0013491659530258655,\n",
       " 'FIN_Loan_Small_1M': 0.0009628631388405865,\n",
       " 'FIN_Loan_Small_3M': 0.00026691213709393257,\n",
       " 'FIN_Loan_Small_6M': 6.709439650377281e-05,\n",
       " 'FIN_Loan_Student': 0.0005167429534688312,\n",
       " 'FIN_Loan_Student_0M': 0.00027433702928965624,\n",
       " 'FIN_Loan_Student_1M': 0.0,\n",
       " 'FIN_Loan_Student_3M': 0.00028004260630764356,\n",
       " 'FIN_Loan_Student_6M': 0.00022985028543669406,\n",
       " 'FIN_Payment': 0.000607705575005272,\n",
       " 'FIN_Payment_0M': 0.0009852543864432481,\n",
       " 'FIN_Payment_1M': 0.0011398493885643607,\n",
       " 'FIN_Payment_3M': 0.0006380060772573708,\n",
       " 'FIN_Payment_6M': 0.0007015062314637197,\n",
       " 'FIN_Payment_Credit': 0.003368034751071232,\n",
       " 'FIN_Payment_Credit_0M': 0.0,\n",
       " 'FIN_Payment_Credit_1M': 0.00010735103440603653,\n",
       " 'FIN_Payment_Credit_3M': 0.00011183678573209891,\n",
       " 'FIN_Payment_Credit_6M': 0.0,\n",
       " 'FIN_Payment_General': 0.0007824586171155586,\n",
       " 'FIN_Payment_General_0M': 0.00021192420335518902,\n",
       " 'FIN_Payment_General_1M': 0.000762658402811674,\n",
       " 'FIN_Payment_General_3M': 9.929076952591648e-05,\n",
       " 'FIN_Payment_General_6M': 0.000274069697783413,\n",
       " 'FIN_Payment_NFC': 0.00041410896518889186,\n",
       " 'FIN_Payment_NFC_0M': 0.0,\n",
       " 'FIN_Payment_NFC_1M': 0.00014151857085289917,\n",
       " 'FIN_Payment_NFC_3M': 0.0,\n",
       " 'FIN_Payment_NFC_6M': 0.0005202941629727897,\n",
       " 'FIN_Payment_Receive': 0.0006277129128473494,\n",
       " 'FIN_Payment_Receive_0M': 0.0,\n",
       " 'FIN_Payment_Receive_1M': 0.00011084632873988461,\n",
       " 'FIN_Payment_Receive_3M': 0.0,\n",
       " 'FIN_Payment_Receive_6M': 0.0002187030476538833,\n",
       " 'FIN_Payment_Utility': 0.00011816577047289747,\n",
       " 'FIN_Payment_Utility_0M': 0.0,\n",
       " 'FIN_Payment_Utility_1M': 7.389755249325641e-05,\n",
       " 'FIN_Payment_Utility_3M': 0.00028228952018439964,\n",
       " 'FIN_Payment_Utility_6M': 0.0,\n",
       " 'FIN_Payment_Wallet': 0.0006704346926194162,\n",
       " 'FIN_Payment_Wallet_0M': 0.0,\n",
       " 'FIN_Payment_Wallet_1M': 0.0,\n",
       " 'FIN_Payment_Wallet_3M': 0.000273438558072248,\n",
       " 'FIN_Payment_Wallet_6M': 0.0,\n",
       " 'FIN_Tool': 0.00041804647199231344,\n",
       " 'FIN_Tool_0M': 0.0002609756704737406,\n",
       " 'FIN_Tool_1M': 0.00012183800026644169,\n",
       " 'FIN_Tool_3M': 0.0001176958877795009,\n",
       " 'FIN_Tool_6M': 0.0001286950365971819,\n",
       " 'FIN_Tool_CreditRecord': 0.0002432194418718643,\n",
       " 'FIN_Tool_CreditRecord_0M': 0.0,\n",
       " 'FIN_Tool_CreditRecord_1M': 0.0,\n",
       " 'FIN_Tool_CreditRecord_3M': 0.0,\n",
       " 'FIN_Tool_CreditRecord_6M': 0.0,\n",
       " 'FIN_Tool_Creditcard': 0.00029404421020031465,\n",
       " 'FIN_Tool_Creditcard_0M': 0.0,\n",
       " 'FIN_Tool_Creditcard_1M': 0.0004938084786846141,\n",
       " 'FIN_Tool_Creditcard_3M': 0.00023134846199373942,\n",
       " 'FIN_Tool_Creditcard_6M': 0.00013011604024691696,\n",
       " 'FIN_Tool_DiaryAccount': 0.0,\n",
       " 'FIN_Tool_DiaryAccount_0M': 0.00022523256469606485,\n",
       " 'FIN_Tool_DiaryAccount_1M': 0.0001456216475602407,\n",
       " 'FIN_Tool_DiaryAccount_3M': 0.0002686632410555322,\n",
       " 'FIN_Tool_DiaryAccount_6M': 0.0,\n",
       " 'FIN_Tool_ExchangeRate': 0.0,\n",
       " 'FIN_Tool_ExchangeRate_0M': 0.0,\n",
       " 'FIN_Tool_ExchangeRate_1M': 0.0,\n",
       " 'FIN_Tool_ExchangeRate_3M': 0.0,\n",
       " 'FIN_Tool_ExchangeRate_6M': 0.0,\n",
       " 'FIN_Tool_FinCaculator': 0.000133703279489191,\n",
       " 'FIN_Tool_FinCaculator_0M': 0.0,\n",
       " 'FIN_Tool_FinCaculator_1M': 0.0,\n",
       " 'FIN_Tool_FinCaculator_3M': 0.0,\n",
       " 'FIN_Tool_GJJ': 0.0,\n",
       " 'FIN_Tool_GJJ_0M': 0.00019375569570668415,\n",
       " 'FIN_Tool_GJJ_1M': 0.0,\n",
       " 'FIN_Tool_GJJ_3M': 0.0,\n",
       " 'FIN_Tool_GJJ_6M': 0.0,\n",
       " 'FIN_Tool_HouseLoan': 0.0,\n",
       " 'FIN_Tool_HouseLoan_0M': 0.0,\n",
       " 'FIN_Tool_HouseLoan_1M': 0.0,\n",
       " 'FIN_Tool_HouseLoan_3M': 0.0,\n",
       " 'FIN_Tool_HouseLoan_6M': 0.0,\n",
       " 'FIN_Tool_Insurance': 0.0,\n",
       " 'FIN_Tool_Insurance_0M': 0.0,\n",
       " 'FIN_Tool_Insurance_1M': 0.00013728614826633524,\n",
       " 'FIN_Tool_Insurance_3M': 0.0,\n",
       " 'FIN_Tool_Insurance_6M': 0.0,\n",
       " 'FIN_Tool_LoanCalculator': 0.0003245651058890428,\n",
       " 'FIN_Tool_LoanCalculator_0M': 0.0,\n",
       " 'FIN_Tool_LoanCalculator_1M': 0.0,\n",
       " 'FIN_Tool_LoanCalculator_3M': 0.0,\n",
       " 'FIN_Tool_LoanCalculator_6M': 0.0,\n",
       " 'FIN_Tool_SocialSecurity': 4.457604613585966e-05,\n",
       " 'FIN_Tool_SocialSecurity_0M': 0.0,\n",
       " 'FIN_Tool_SocialSecurity_1M': 0.0,\n",
       " 'FIN_Tool_SocialSecurity_3M': 0.0,\n",
       " 'GAME_Game': 0.0016954380026617648,\n",
       " 'GAME_Game_0M': 0.0016045074396618618,\n",
       " 'GAME_Game_1M': 0.0014425157997631389,\n",
       " 'GAME_Game_3M': 0.00041109717201851545,\n",
       " 'GAME_Game_6M': 0.001219045660060192,\n",
       " 'GAME_Mahjong': 0.00016290178144183308,\n",
       " 'GAME_Mahjong_0M': 0.0001485097180376729,\n",
       " 'GAME_Mahjong_1M': 0.0,\n",
       " 'GAME_Mahjong_3M': 0.00010305255729459006,\n",
       " 'GAME_Mahjong_6M': 0.0002349291469957993,\n",
       " 'GAME_Poker': 0.0009357823796144188,\n",
       " 'GAME_Poker_Mahjong_PCT': 0.0013911878604102143,\n",
       " 'GAME_Poker_Mahjong_PCT_0M': 0.00029750134469993394,\n",
       " 'GAME_Poker_Mahjong_PCT_1M': 0.0016694637069171897,\n",
       " 'GAME_Poker_Mahjong_PCT_3M': 0.0008969936600872355,\n",
       " 'GAME_Poker_Mahjong_PCT_6M': 0.0016346087771751706,\n",
       " 'GAME_Poker_0M': 0.00023023760811068057,\n",
       " 'GAME_Poker_1M': 0.000136426250756781,\n",
       " 'GAME_Poker_3M': 0.0,\n",
       " 'GAME_Poker_6M': 0.0002291024033940526,\n",
       " 'GAME_Table_Game': 0.0,\n",
       " 'GAME_Table_Game_0M': 0.0,\n",
       " 'GAME_Table_Game_1M': 0.0,\n",
       " 'GAME_Table_Game_3M': 0.0,\n",
       " 'GAME_Table_Game_6M': 0.0,\n",
       " 'Game_Poker_Mahjong': 0.00026835281097799095,\n",
       " 'Game_Poker_Mahjong_0M': 0.0002622507214697888,\n",
       " 'Game_Poker_Mahjong_1M': 0.0005051284445864136,\n",
       " 'Game_Poker_Mahjong_3M': 0.00014722427575685005,\n",
       " 'Game_Poker_Mahjong_6M': 0.0001453005647944437,\n",
       " 'HEA_Consult': 9.386119485772715e-05,\n",
       " 'HEA_Consult_0M': 0.0003314273966578835,\n",
       " 'HEA_Consult_1M': 6.240207092186325e-05,\n",
       " 'HEA_Consult_3M': 0.00024236536785740768,\n",
       " 'HEA_Consult_6M': 0.0,\n",
       " 'HEA_Fit': 0.0,\n",
       " 'HEA_Fit_0M': 5.362125277786141e-05,\n",
       " 'HEA_Fit_1M': 0.0,\n",
       " 'HEA_Fit_3M': 0.0005229874587021938,\n",
       " 'HEA_Fit_6M': 0.00034430075214900857,\n",
       " 'HEA_Medicine': 0.00014700990650360815,\n",
       " 'HEA_Medicine_0M': 0.0002343676837817262,\n",
       " 'HEA_Medicine_1M': 0.0,\n",
       " 'HEA_Medicine_3M': 0.0002669946332737029,\n",
       " 'HEA_Medicine_6M': 0.0,\n",
       " 'HEA_Pregnant': 0.0001717616550496584,\n",
       " 'HEA_Pregnant_0M': 0.0006180237886302019,\n",
       " 'HEA_Pregnant_1M': 0.0,\n",
       " 'HEA_Pregnant_3M': 0.00012325345760891726,\n",
       " 'HEA_Pregnant_6M': 0.0,\n",
       " 'HEA_Tool': 0.0002526521858990816,\n",
       " 'HEA_Tool_0M': 0.0001291071533222827,\n",
       " 'HEA_Tool_1M': 9.948500855131372e-05,\n",
       " 'HEA_Tool_3M': 0.0,\n",
       " 'HEA_Tool_6M': 0.0005938384411940323,\n",
       " 'INTEREST_Lif_Cookbook': 0.0,\n",
       " 'INTEREST_Lif_Cookbook_0M': 0.000874540380050579,\n",
       " 'INTEREST_Lif_Cookbook_1M': 0.0,\n",
       " 'INTEREST_Lif_Cookbook_3M': 0.00027072944267118187,\n",
       " 'INTEREST_Lif_Cookbook_6M': 0.0,\n",
       " 'LIF_Car_Maintenance': 0.0002820760497895355,\n",
       " 'LIF_Car_Maintenance_0M': 0.0,\n",
       " 'LIF_Car_Maintenance_1M': 0.0,\n",
       " 'LIF_Car_Maintenance_3M': 9.853628930275331e-05,\n",
       " 'LIF_Car_Maintenance_6M': 0.0,\n",
       " 'LIF_Express': 0.00029355914915942156,\n",
       " 'LIF_Express_0M': 0.0004307828567291768,\n",
       " 'LIF_Express_1M': 0.0,\n",
       " 'LIF_Express_3M': 0.00017795368925885166,\n",
       " 'LIF_Express_6M': 0.0,\n",
       " 'LIF_Express_Moving': 0.0,\n",
       " 'LIF_Express_Moving_0M': 9.853006999100853e-05,\n",
       " 'LIF_Express_Moving_1M': 0.0,\n",
       " 'LIF_Express_Moving_3M': 0.0,\n",
       " 'LIF_Express_Moving_6M': 0.00014248195656652355,\n",
       " 'LIF_F_E_Coupon': 0.0,\n",
       " 'LIF_F_E_Coupon_0M': 0.0,\n",
       " 'LIF_F_E_Coupon_1M': 0.0,\n",
       " 'LIF_F_E_Coupon_3M': 0.0,\n",
       " 'LIF_F_E_Coupon_6M': 0.0,\n",
       " 'LIF_F_E_Deliver': 0.0005437368437594462,\n",
       " 'LIF_F_E_Deliver_0M': 0.00030216919623695163,\n",
       " 'LIF_F_E_Deliver_1M': 0.0,\n",
       " 'LIF_F_E_Deliver_3M': 0.00028180232475355217,\n",
       " 'LIF_F_E_Deliver_6M': 0.00039103825436578464,\n",
       " 'LIF_F_E_Fans': 0.0,\n",
       " 'LIF_F_E_Fans_3M': 0.0,\n",
       " 'LIF_F_E_Fresh': 0.0003395469718045391,\n",
       " 'LIF_F_E_Fresh_0M': 0.0,\n",
       " 'LIF_F_E_Fresh_1M': 0.0,\n",
       " 'LIF_F_E_Fresh_3M': 0.0,\n",
       " 'LIF_F_E_Fresh_6M': 0.00013716042346480646,\n",
       " 'LIF_F_E_Gamebar': 0.00013587815533617738,\n",
       " 'LIF_F_E_Gamebar_0M': 0.0,\n",
       " 'LIF_F_E_Gamebar_1M': 4.181515849477944e-05,\n",
       " 'LIF_F_E_Gamebar_3M': 0.0,\n",
       " 'LIF_F_E_Gamebar_6M': 0.00013558605373143948,\n",
       " 'LIF_F_E_Groupon': 0.00028184735655648686,\n",
       " 'LIF_F_E_Groupon_0M': 0.00046187977434463946,\n",
       " 'LIF_F_E_Groupon_1M': 0.0008691059410509629,\n",
       " 'LIF_F_E_Groupon_3M': 0.0010045021361260746,\n",
       " 'LIF_F_E_Groupon_6M': 0.0004378024489768278,\n",
       " 'LIF_F_E_KitchenShare': 0.0,\n",
       " 'LIF_F_E_KitchenShare_3M': 0.0,\n",
       " 'LIF_F_E_Movie': 0.0,\n",
       " 'LIF_F_E_Movie_0M': 0.0,\n",
       " 'LIF_F_E_Movie_1M': 0.0,\n",
       " 'LIF_F_E_Movie_3M': 0.0,\n",
       " 'LIF_F_E_Movie_6M': 0.0,\n",
       " 'LIF_F_E_Rating': 0.0,\n",
       " 'LIF_F_E_Rating_0M': 0.0,\n",
       " 'LIF_F_E_Rating_1M': 0.0,\n",
       " 'LIF_F_E_Rating_3M': 0.0,\n",
       " 'LIF_F_E_Rating_6M': 0.0,\n",
       " 'LIF_F_E_Restaurant': 0.0,\n",
       " 'LIF_F_E_Restaurant_0M': 0.0,\n",
       " 'LIF_F_E_Restaurant_1M': 0.0,\n",
       " 'LIF_F_E_Restaurant_3M': 0.0,\n",
       " 'LIF_F_E_Restaurant_6M': 0.0,\n",
       " 'LIF_F_E_Snack': 0.0,\n",
       " 'LIF_F_E_Stars': 0.0,\n",
       " 'LIF_F_E_Stars_3M': 0.0,\n",
       " 'LIF_F_E_Ticket': 0.0,\n",
       " 'LIF_F_E_Ticket_0M': 0.0,\n",
       " 'LIF_F_E_Ticket_1M': 0.0,\n",
       " 'LIF_F_E_Ticket_3M': 0.0,\n",
       " 'LIF_F_E_Ticket_6M': 0.0,\n",
       " 'LIF_Food_Entertainment': 0.0003939291738195752,\n",
       " 'LIF_Food_Entertainment_0M': 0.0003129526380247402,\n",
       " 'LIF_Food_Entertainment_1M': 0.0002149323794621117,\n",
       " 'LIF_Food_Entertainment_3M': 0.0008918090850925636,\n",
       " 'LIF_Food_Entertainment_6M': 0.0006097577857559842,\n",
       " 'LIF_General': 0.001271484866526657,\n",
       " 'LIF_General_0M': 0.0007108621560294678,\n",
       " 'LIF_General_1M': 0.0005030913732476731,\n",
       " 'LIF_General_3M': 0.0008051811813267566,\n",
       " 'LIF_General_6M': 0.0003006032037138754,\n",
       " 'LIF_House_Apart': 0.00044217349083441415,\n",
       " 'LIF_House_Apart_0M': 0.0,\n",
       " 'LIF_House_Apart_1M': 0.0002549729065866129,\n",
       " 'LIF_House_Apart_3M': 0.0,\n",
       " 'LIF_House_Apart_6M': 0.00034591001221629774,\n",
       " 'LIF_Job_Board': 0.0006638624446635422,\n",
       " 'LIF_Job_Board_0M': 4.5852678476459945e-05,\n",
       " 'LIF_Job_Board_1M': 0.00023893828475126996,\n",
       " 'LIF_Job_Board_3M': 0.00010536815283920798,\n",
       " 'LIF_Job_Board_6M': 0.0002434273999970889,\n",
       " 'LIF_Shouzhuan': 0.0007344868053691252,\n",
       " 'LIF_Shouzhuan_0M': 0.00014007617873392915,\n",
       " 'LIF_Shouzhuan_1M': 0.0,\n",
       " 'LIF_Shouzhuan_3M': 0.0,\n",
       " 'LIF_Shouzhuan_6M': 0.00033646622715981884,\n",
       " 'LIF_Tool': 0.0006859310498629632,\n",
       " 'LIF_Tool_0M': 0.00040126761087290566,\n",
       " 'LIF_Tool_1M': 0.0007207151674907826,\n",
       " 'LIF_Tool_3M': 0.0001315508031359018,\n",
       " 'LIF_Tool_6M': 0.00034029685391304143,\n",
       " 'LIVE_All': 0.0011546975245853475,\n",
       " 'LIVE_All_0M': 0.0008661275286586275,\n",
       " 'LIVE_All_1M': 0.00022193879180758486,\n",
       " 'LIVE_All_3M': 0.0005219313000822925,\n",
       " 'LIVE_All_6M': 0.0006729257331024047,\n",
       " 'LIVE_Beauty': 0.0,\n",
       " 'LIVE_Beauty_0M': 0.00026049410257289354,\n",
       " 'LIVE_Beauty_1M': 4.386687553364099e-05,\n",
       " 'LIVE_Beauty_3M': 0.0001368126556646981,\n",
       " 'LIVE_Beauty_6M': 0.0,\n",
       " 'LIVE_Game': 0.000566057631170802,\n",
       " 'LIVE_Game_0M': 0.00039471480755561787,\n",
       " 'LIVE_Game_1M': 0.0003336298964512141,\n",
       " 'LIVE_Game_3M': 0.00029655606665445665,\n",
       " 'LIVE_Game_6M': 0.00020473314740804957,\n",
       " 'LIVE_Sports': 0.0,\n",
       " 'LIVE_Sports_0M': 0.0,\n",
       " 'LIVE_Sports_1M': 0.0001528044430157068,\n",
       " 'LIVE_Sports_3M': 0.0,\n",
       " 'LIVE_Sports_6M': 0.0,\n",
       " 'LOTTERY_Benifit': 0.0001437702949933333,\n",
       " 'LOTTERY_Benifit_0M': 2.889233945492813e-05,\n",
       " 'LOTTERY_Benifit_1M': 0.0001305725096614005,\n",
       " 'LOTTERY_Benifit_3M': 0.0003114647853846831,\n",
       " 'LOTTERY_Benifit_6M': 0.00012631978516722237,\n",
       " 'LOTTERY_Gamble': 0.0005841027684654419,\n",
       " 'LOTTERY_Gamble_0M': 0.0002638801007285734,\n",
       " 'LOTTERY_Gamble_1M': 0.0,\n",
       " 'LOTTERY_Gamble_3M': 0.00013610552269776544,\n",
       " 'LOTTERY_Gamble_6M': 0.00019184878844838918,\n",
       " 'LOTTERY_Multiple_Sports': 0.0002733798206174938,\n",
       " 'LOTTERY_Multiple_Sports_0M': 0.00032668756604375433,\n",
       " 'LOTTERY_Multiple_Sports_1M': 0.00022987905045008362,\n",
       " 'LOTTERY_Multiple_Sports_3M': 9.592439422419459e-05,\n",
       " 'LOTTERY_Multiple_Sports_6M': 0.00019068783406729994,\n",
       " 'LOTTERY_Sports': 0.0,\n",
       " 'LOTTERY_Sports_0M': 0.0001368563653941318,\n",
       " 'LOTTERY_Sports_1M': 0.0,\n",
       " 'LOTTERY_Sports_3M': 0.0,\n",
       " 'LOTTERY_Sports_6M': 0.0,\n",
       " 'LOTTERY_Sports_Oversea': 0.0,\n",
       " 'LOTTERY_Sports_Oversea_6M': 0.0,\n",
       " 'MEDIA_Camera': 0.00017525280657682406,\n",
       " 'MEDIA_Camera_0M': 0.00043300414521429286,\n",
       " 'MEDIA_Camera_1M': 0.0004827854452404554,\n",
       " 'MEDIA_Camera_3M': 0.0014307002543875868,\n",
       " 'MEDIA_Camera_6M': 0.0002820760497895355,\n",
       " 'MEDIA_Instrument': 0.0,\n",
       " 'MEDIA_Instrument_0M': 0.0,\n",
       " 'MEDIA_Instrument_1M': 0.0,\n",
       " 'MEDIA_Instrument_3M': 0.0,\n",
       " 'MEDIA_Instrument_6M': 0.0,\n",
       " 'MEDIA_Live': 0.0004392568333326327,\n",
       " 'MEDIA_Live_0M': 0.0007082458146507654,\n",
       " 'MEDIA_Live_1M': 0.001160503171100147,\n",
       " 'MEDIA_Live_3M': 0.0010489784714489097,\n",
       " 'MEDIA_Live_6M': 0.0001168346496608325,\n",
       " 'MEDIA_MusicPlayer': 0.0014021378582779796,\n",
       " 'MEDIA_MusicPlayer_0M': 0.0008814665985724526,\n",
       " 'MEDIA_MusicPlayer_1M': 0.0012427340420851627,\n",
       " 'MEDIA_MusicPlayer_3M': 0.00021379853955902204,\n",
       " 'MEDIA_MusicPlayer_6M': 0.00025268041959883547,\n",
       " 'MEDIA_VedioPlayer': 0.0007119106724293202,\n",
       " 'MEDIA_VedioPlayer_0M': 0.0007293354746629155,\n",
       " 'MEDIA_VedioPlayer_1M': 0.0011483719600372015,\n",
       " 'MEDIA_VedioPlayer_3M': 0.00024165273109140483,\n",
       " 'MEDIA_VedioPlayer_6M': 0.0003144787967120102,\n",
       " 'NEWS_Car': 0.0001851284882005796,\n",
       " 'NEWS_Car_0M': 0.0,\n",
       " 'NEWS_Car_1M': 0.0003133084182778119,\n",
       " 'NEWS_Car_3M': 0.00011732649357215894,\n",
       " 'NEWS_Car_6M': 0.0,\n",
       " 'NEWS_Finance': 0.00036958127353087125,\n",
       " 'NEWS_Finance_0M': 0.0,\n",
       " 'NEWS_Finance_1M': 0.0,\n",
       " 'NEWS_Finance_3M': 0.0,\n",
       " 'NEWS_Finance_6M': 0.0,\n",
       " 'NEWS_General': 0.0010157995776290377,\n",
       " 'NEWS_General_0M': 0.0003458482445367819,\n",
       " 'NEWS_General_1M': 0.0007254229675943684,\n",
       " 'NEWS_General_3M': 0.0020362726401247683,\n",
       " 'NEWS_General_6M': 0.0005213018120612877,\n",
       " 'NEWS_Other': 0.0,\n",
       " 'NEWS_Other_0M': 0.00022405127254235632,\n",
       " 'NEWS_Other_1M': 0.0,\n",
       " 'NEWS_Other_3M': 0.0,\n",
       " 'NEWS_Other_6M': 0.0,\n",
       " 'NEWS_Politic': 0.0,\n",
       " 'NEWS_Politic_0M': 0.0,\n",
       " 'NEWS_Politic_1M': 0.0,\n",
       " 'NEWS_Politic_3M': 0.0,\n",
       " 'NEWS_Politic_6M': 0.0,\n",
       " 'NEWS_Sport': 0.00013007310675081937,\n",
       " 'NEWS_Sport_0M': 0.0,\n",
       " 'NEWS_Sport_1M': 0.0,\n",
       " 'NEWS_Sport_3M': 0.0,\n",
       " 'NEWS_Sport_6M': 0.0,\n",
       " 'NEWS_Tech': 0.0,\n",
       " 'NEWS_Tech_0M': 0.0,\n",
       " 'NEWS_Tech_1M': 0.0,\n",
       " 'NEWS_Tech_3M': 0.0,\n",
       " 'NEWS_Tech_6M': 0.0,\n",
       " 'NEWS_World': 0.0,\n",
       " 'NEWS_World_0M': 0.0,\n",
       " 'NEWS_World_1M': 0.0,\n",
       " 'NEWS_World_3M': 0.0,\n",
       " 'NEWS_World_6M': 0.0,\n",
       " 'SOC_BBS': 0.0008904591378197097,\n",
       " 'SOC_BBS_0M': 0.0009500942984357423,\n",
       " 'SOC_BBS_1M': 0.0,\n",
       " 'SOC_BBS_3M': 0.00013189604205826757,\n",
       " 'SOC_BBS_6M': 0.0002984983836495828,\n",
       " 'SOC_BBS_Fans': 0.0,\n",
       " 'SOC_Chat_Friend': 0.0013629363484527264,\n",
       " 'SOC_Chat_Friend_0M': 0.0010857413501508793,\n",
       " 'SOC_Chat_Friend_1M': 0.0007851953849316738,\n",
       " 'SOC_Chat_Friend_3M': 0.000359102252760444,\n",
       " 'SOC_Chat_Friend_6M': 0.0009206874927242707,\n",
       " 'SOC_Mailbox': 0.0008675531288885486,\n",
       " 'SOC_Mailbox_0M': 0.00027283282937174563,\n",
       " 'SOC_Mailbox_1M': 0.0,\n",
       " 'SOC_Mailbox_3M': 0.0011247766640245815,\n",
       " 'SOC_Mailbox_6M': 0.00029016858380681386,\n",
       " 'SOC_NetCall': 0.001194336026157859,\n",
       " 'SOC_NetCall_0M': 0.0,\n",
       " 'SOC_NetCall_1M': 0.0,\n",
       " 'SOC_NetCall_3M': 0.00033605328736640547,\n",
       " 'SOC_NetCall_6M': 0.0,\n",
       " 'SOC_Single': 0.0,\n",
       " 'SOC_Single_0M': 0.0006669246505534019,\n",
       " 'SOC_Single_1M': 0.0,\n",
       " 'SOC_Single_3M': 0.00010381480921750788,\n",
       " 'SOC_Single_6M': 0.00013752965837085914,\n",
       " 'SOC_Tool': 9.338582023135747e-05,\n",
       " 'SOC_Tool_0M': 0.0007456229444981391,\n",
       " 'SOC_Tool_1M': 0.0005390839405916347,\n",
       " 'SOC_Tool_3M': 0.00028644724255131313,\n",
       " 'SOC_Tool_6M': 0.0,\n",
       " 'SOP_Cash_Return': 0.0,\n",
       " 'SOP_Cash_Return_0M': 0.00017683192584926744,\n",
       " 'SOP_Cash_Return_1M': 0.00013819903279857563,\n",
       " 'SOP_Cash_Return_3M': 0.0,\n",
       " 'SOP_Cash_Return_6M': 0.0,\n",
       " 'SOP_Discount_Yiyuan': 0.0,\n",
       " 'SOP_Discount_Yiyuan_0M': 0.0,\n",
       " 'SOP_Discount_Yiyuan_1M': 0.0,\n",
       " 'SOP_Discount_Yiyuan_3M': 0.0,\n",
       " 'SOP_Discount_Yiyuan_6M': 0.00017039846731116905,\n",
       " 'SOP_General': 0.0008414166164030949,\n",
       " 'SOP_General_0M': 0.0,\n",
       " 'SOP_General_1M': 0.0013369509488581096,\n",
       " 'SOP_General_3M': 0.00040635572294363856,\n",
       " 'SOP_General_6M': 0.00021388998870489114,\n",
       " 'SOP_General_Snacks': 0.0,\n",
       " 'SOP_General_Snacks_0M': 0.0,\n",
       " 'SOP_General_Snacks_1M': 0.0,\n",
       " 'SOP_General_Snacks_3M': 0.0,\n",
       " 'SOP_General_Snacks_6M': 0.0,\n",
       " 'SOP_Groupon': 0.00025897552962775826,\n",
       " 'SOP_Groupon_0M': 0.0001231928182507669,\n",
       " 'SOP_Groupon_1M': 0.00027708358610966847,\n",
       " 'SOP_Groupon_3M': 0.0,\n",
       " 'SOP_Groupon_6M': 0.00048623306719015733,\n",
       " 'SOP_Life_Groupon': 0.001276106366869085,\n",
       " 'SOP_Life_Groupon_0M': 0.000834876644661982,\n",
       " 'SOP_Life_Groupon_1M': 0.0009186182129841106,\n",
       " 'SOP_Life_Groupon_3M': 0.0007292077221754281,\n",
       " 'SOP_Life_Groupon_6M': 0.0002518618037261825,\n",
       " 'SOP_Luxury': 0.0,\n",
       " 'SOP_Luxury_0M': 0.0,\n",
       " 'SOP_Luxury_1M': 0.0,\n",
       " 'SOP_Luxury_3M': 0.0,\n",
       " 'SOP_Luxury_6M': 0.0,\n",
       " 'SOP_Other': 0.0010775129360202688,\n",
       " 'SOP_Other_0M': 0.0005202763094543508,\n",
       " 'SOP_Other_1M': 0.0005184463891022903,\n",
       " 'SOP_Other_3M': 7.263226127953466e-05,\n",
       " 'SOP_Other_6M': 0.0002626476194006929,\n",
       " 'SOP_Oversea_Buy': 0.0,\n",
       " 'SOP_Oversea_Buy_0M': 0.0,\n",
       " 'SOP_Oversea_Buy_1M': 0.0,\n",
       " 'SOP_Oversea_Buy_3M': 0.0,\n",
       " 'SOP_Oversea_Buy_6M': 0.0,\n",
       " 'SOP_Secondhand_Car': 0.0002298977832891028,\n",
       " ...}"
      ]
     },
     "execution_count": 313,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 特征与相关性组合成字典的形式\n",
    "dic_item = dict(zip(col, feature))\n",
    "dic_item"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 314,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 提取出相关性大于0的特征\n",
    "col_new = []\n",
    "for k, v in dic_item.items():\n",
    "    if v > 0:\n",
    "        col_new.append(k)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 315,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('xgf', 0.019357079615043165),\n",
       " ('_COL26', 0.015066516524717253),\n",
       " ('jiguang_black_score', 0.014124927828665364),\n",
       " ('tencent_socre', 0.01261430243010057),\n",
       " ('kexin_socre', 0.011310034316443906),\n",
       " ('zmscore', 0.009843585732993983),\n",
       " ('bd1', 0.008050387342722823),\n",
       " ('_COL11', 0.008046419045591089),\n",
       " ('_COL14', 0.007615276815840126),\n",
       " ('ml_feature44', 0.0074074538880195065)]"
      ]
     },
     "execution_count": 315,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 绘制前十个相关性最大的特征相关程度\n",
    "# 对字典按值排序\n",
    "dict_10 = sorted(dic_item.items(), key=lambda x:x[1], reverse=True)[:10]\n",
    "dict_10"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 316,
   "metadata": {},
   "outputs": [],
   "source": [
    "k_10 = []\n",
    "v_10 = []\n",
    "for k, v in dict_10:\n",
    "    k_10.append(k)\n",
    "    v_10.append(v)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 317,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.barh(k_10, v_10,)\n",
    "plt.title('前十相关性')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 318,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_x = data_x[col_new]\n",
    "# 可以看出overdue_day (逾期天数)相关性远远大于其他特征"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 319,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>zmscore</th>\n",
       "      <th>jxl_xm_score</th>\n",
       "      <th>kexin_socre</th>\n",
       "      <th>tencent_socre</th>\n",
       "      <th>jiguang_black_score</th>\n",
       "      <th>xgf</th>\n",
       "      <th>jg_blackscore_label</th>\n",
       "      <th>ml_feature3</th>\n",
       "      <th>ml_feature4</th>\n",
       "      <th>ml_feature5</th>\n",
       "      <th>...</th>\n",
       "      <th>bd4</th>\n",
       "      <th>bd5</th>\n",
       "      <th>family_addr_label</th>\n",
       "      <th>bd6</th>\n",
       "      <th>bd7</th>\n",
       "      <th>bd8</th>\n",
       "      <th>bd9</th>\n",
       "      <th>bd10</th>\n",
       "      <th>bd11</th>\n",
       "      <th>bd12</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.684221</td>\n",
       "      <td>-0.801040</td>\n",
       "      <td>-1.000401</td>\n",
       "      <td>-0.033685</td>\n",
       "      <td>-0.279819</td>\n",
       "      <td>0.037416</td>\n",
       "      <td>-0.293674</td>\n",
       "      <td>-0.357936</td>\n",
       "      <td>-0.110488</td>\n",
       "      <td>-0.487667</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.167262</td>\n",
       "      <td>-0.277697</td>\n",
       "      <td>0.316956</td>\n",
       "      <td>1.421785</td>\n",
       "      <td>1.504949</td>\n",
       "      <td>0.606964</td>\n",
       "      <td>0.918124</td>\n",
       "      <td>0.011010</td>\n",
       "      <td>-0.001215</td>\n",
       "      <td>0.803252</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.832959</td>\n",
       "      <td>0.082706</td>\n",
       "      <td>-0.232255</td>\n",
       "      <td>0.395811</td>\n",
       "      <td>1.532640</td>\n",
       "      <td>1.191311</td>\n",
       "      <td>3.405134</td>\n",
       "      <td>-0.357936</td>\n",
       "      <td>-0.110488</td>\n",
       "      <td>-0.487667</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.167262</td>\n",
       "      <td>-0.277697</td>\n",
       "      <td>0.316956</td>\n",
       "      <td>1.421785</td>\n",
       "      <td>0.637966</td>\n",
       "      <td>-0.167139</td>\n",
       "      <td>0.918124</td>\n",
       "      <td>1.022227</td>\n",
       "      <td>-0.001215</td>\n",
       "      <td>0.803252</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.180015</td>\n",
       "      <td>1.508103</td>\n",
       "      <td>0.571207</td>\n",
       "      <td>-1.274452</td>\n",
       "      <td>-0.279819</td>\n",
       "      <td>-0.518164</td>\n",
       "      <td>-0.293674</td>\n",
       "      <td>-0.357936</td>\n",
       "      <td>-0.110488</td>\n",
       "      <td>-0.487667</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.167262</td>\n",
       "      <td>-0.277697</td>\n",
       "      <td>0.316956</td>\n",
       "      <td>1.421785</td>\n",
       "      <td>1.504949</td>\n",
       "      <td>-0.167139</td>\n",
       "      <td>1.453450</td>\n",
       "      <td>2.033443</td>\n",
       "      <td>-0.001215</td>\n",
       "      <td>1.299363</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.403123</td>\n",
       "      <td>-0.330659</td>\n",
       "      <td>1.833792</td>\n",
       "      <td>-1.131287</td>\n",
       "      <td>-0.279819</td>\n",
       "      <td>1.362259</td>\n",
       "      <td>-0.293674</td>\n",
       "      <td>-0.357936</td>\n",
       "      <td>-0.110488</td>\n",
       "      <td>-0.487667</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.167262</td>\n",
       "      <td>-0.277697</td>\n",
       "      <td>0.316956</td>\n",
       "      <td>0.894282</td>\n",
       "      <td>1.504949</td>\n",
       "      <td>0.606964</td>\n",
       "      <td>0.382798</td>\n",
       "      <td>0.011010</td>\n",
       "      <td>0.905850</td>\n",
       "      <td>0.307140</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2.295553</td>\n",
       "      <td>-0.245135</td>\n",
       "      <td>1.233402</td>\n",
       "      <td>-1.131287</td>\n",
       "      <td>-0.279819</td>\n",
       "      <td>-1.472620</td>\n",
       "      <td>-0.293674</td>\n",
       "      <td>-0.357936</td>\n",
       "      <td>-0.110488</td>\n",
       "      <td>-0.487667</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.167262</td>\n",
       "      <td>-0.277697</td>\n",
       "      <td>0.316956</td>\n",
       "      <td>0.894282</td>\n",
       "      <td>-0.229017</td>\n",
       "      <td>-0.167139</td>\n",
       "      <td>0.918124</td>\n",
       "      <td>0.011010</td>\n",
       "      <td>-0.001215</td>\n",
       "      <td>1.299363</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 801 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    zmscore  jxl_xm_score  kexin_socre  tencent_socre  jiguang_black_score  \\\n",
       "0  0.684221     -0.801040    -1.000401      -0.033685            -0.279819   \n",
       "1  0.832959      0.082706    -0.232255       0.395811             1.532640   \n",
       "2  1.180015      1.508103     0.571207      -1.274452            -0.279819   \n",
       "3  1.403123     -0.330659     1.833792      -1.131287            -0.279819   \n",
       "4  2.295553     -0.245135     1.233402      -1.131287            -0.279819   \n",
       "\n",
       "        xgf  jg_blackscore_label  ml_feature3  ml_feature4  ml_feature5  \\\n",
       "0  0.037416            -0.293674    -0.357936    -0.110488    -0.487667   \n",
       "1  1.191311             3.405134    -0.357936    -0.110488    -0.487667   \n",
       "2 -0.518164            -0.293674    -0.357936    -0.110488    -0.487667   \n",
       "3  1.362259            -0.293674    -0.357936    -0.110488    -0.487667   \n",
       "4 -1.472620            -0.293674    -0.357936    -0.110488    -0.487667   \n",
       "\n",
       "     ...          bd4       bd5  family_addr_label       bd6       bd7  \\\n",
       "0    ...    -0.167262 -0.277697           0.316956  1.421785  1.504949   \n",
       "1    ...    -0.167262 -0.277697           0.316956  1.421785  0.637966   \n",
       "2    ...    -0.167262 -0.277697           0.316956  1.421785  1.504949   \n",
       "3    ...    -0.167262 -0.277697           0.316956  0.894282  1.504949   \n",
       "4    ...    -0.167262 -0.277697           0.316956  0.894282 -0.229017   \n",
       "\n",
       "        bd8       bd9      bd10      bd11      bd12  \n",
       "0  0.606964  0.918124  0.011010 -0.001215  0.803252  \n",
       "1 -0.167139  0.918124  1.022227 -0.001215  0.803252  \n",
       "2 -0.167139  1.453450  2.033443 -0.001215  1.299363  \n",
       "3  0.606964  0.382798  0.011010  0.905850  0.307140  \n",
       "4 -0.167139  0.918124  0.011010 -0.001215  1.299363  \n",
       "\n",
       "[5 rows x 801 columns]"
      ]
     },
     "execution_count": 319,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_x.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 320,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    5163\n",
       "1     807\n",
       "Name: y, dtype: int64"
      ]
     },
     "execution_count": 320,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 0的个数为5163个， 1的个数为807个，样本不均衡\n",
    "data_y.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 321,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 解决样本不均衡问题\n",
    "# 合并y到data_x\n",
    "data_y.name = 'y'\n",
    "data_combin = pd.concat((data_x, data_y), axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 322,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0       0\n",
       "1       0\n",
       "2       0\n",
       "3       0\n",
       "4       0\n",
       "5       0\n",
       "6       0\n",
       "7       0\n",
       "8       0\n",
       "9       0\n",
       "10      0\n",
       "11      0\n",
       "12      0\n",
       "13      0\n",
       "14      0\n",
       "15      0\n",
       "16      0\n",
       "17      0\n",
       "18      0\n",
       "19      0\n",
       "20      0\n",
       "21      0\n",
       "22      0\n",
       "23      1\n",
       "24      0\n",
       "25      0\n",
       "26      0\n",
       "27      0\n",
       "28      0\n",
       "29      0\n",
       "       ..\n",
       "5940    0\n",
       "5941    0\n",
       "5942    1\n",
       "5943    1\n",
       "5944    0\n",
       "5945    0\n",
       "5946    0\n",
       "5947    0\n",
       "5948    1\n",
       "5949    0\n",
       "5950    0\n",
       "5951    0\n",
       "5952    0\n",
       "5953    1\n",
       "5954    0\n",
       "5955    0\n",
       "5956    0\n",
       "5957    0\n",
       "5958    0\n",
       "5959    0\n",
       "5960    0\n",
       "5961    0\n",
       "5962    0\n",
       "5963    0\n",
       "5964    0\n",
       "5965    0\n",
       "5966    0\n",
       "5967    1\n",
       "5968    0\n",
       "5969    0\n",
       "Name: y, Length: 5970, dtype: int64"
      ]
     },
     "execution_count": 322,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_combin['y']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 323,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 807 entries, 23 to 5967\n",
      "Columns: 802 entries, zmscore to y\n",
      "dtypes: float64(801), int64(1)\n",
      "memory usage: 4.9 MB\n"
     ]
    }
   ],
   "source": [
    "data_1 = data_combin[data_combin['y'] == 1]\n",
    "data_1.head()\n",
    "type(data_1)\n",
    "data_1.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 324,
   "metadata": {},
   "outputs": [],
   "source": [
    "# data_1['y'].value_counts()[1]\n",
    "# data_combin[data_combin['y'] == 0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 325,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "data_0 = data_combin[data_combin['y'] == 0].iloc[:data_1['y'].value_counts()[1], :]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 326,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 807 entries, 0 to 911\n",
      "Columns: 802 entries, zmscore to y\n",
      "dtypes: float64(801), int64(1)\n",
      "memory usage: 4.9 MB\n"
     ]
    }
   ],
   "source": [
    "data_0.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 327,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 1614 entries, 23 to 911\n",
      "Columns: 802 entries, zmscore to y\n",
      "dtypes: float64(801), int64(1)\n",
      "memory usage: 9.9 MB\n"
     ]
    }
   ],
   "source": [
    "data_new = pd.concat([data_1, data_0])\n",
    "data_new.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 328,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_new = data_new.reset_index(drop=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 329,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 打乱数据\n",
    "data_new = data_new.sample(frac=1).reset_index(drop=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 330,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 330,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_new.isnull().any().all()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 331,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_y = data_new['y']\n",
    "data_x = data_new.drop('y', axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 332,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 切分数据集\n",
    "x_train, x_test, y_train, y_test = train_test_split(data_x, data_y, test_size=0.3, random_state=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 模型选择"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 333,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 绘制roc曲线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 334,
   "metadata": {},
   "outputs": [],
   "source": [
    "rf = RandomForestClassifier(random_state=1)\n",
    "xgb = XGBClassifier(random_state=1)\n",
    "gbdt = GradientBoostingClassifier(random_state=1)\n",
    "logist = LogisticRegression(random_state=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 335,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\envs\\p36\\lib\\site-packages\\sklearn\\ensemble\\forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.         0.         0.0233463  0.05836576 0.11284047 0.23346304\n",
      " 0.40856031 0.56031128 0.71984436 0.86381323 0.9766537  1.        ] [0.         0.01754386 0.10087719 0.22807018 0.39035088 0.59649123\n",
      " 0.74122807 0.87719298 0.95614035 0.97807018 0.99561404 1.        ] [2.  1.  0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. ]\n",
      "0.7435405147109018\n",
      "[0.         0.         0.         0.0077821  0.0077821  0.01167315\n",
      " 0.01167315 0.0155642  0.0155642  0.01945525 0.01945525 0.02723735\n",
      " 0.02723735 0.0311284  0.0311284  0.03891051 0.03891051 0.04280156\n",
      " 0.04280156 0.04669261 0.04669261 0.05447471 0.05447471 0.05836576\n",
      " 0.05836576 0.06225681 0.06225681 0.06614786 0.06614786 0.07392996\n",
      " 0.07392996 0.07782101 0.07782101 0.08171206 0.08171206 0.08560311\n",
      " 0.08560311 0.08949416 0.08949416 0.09338521 0.09338521 0.09727626\n",
      " 0.09727626 0.10116732 0.10116732 0.11284047 0.11284047 0.12451362\n",
      " 0.12451362 0.12840467 0.12840467 0.13618677 0.13618677 0.14785992\n",
      " 0.14785992 0.15175097 0.15175097 0.15564202 0.15564202 0.16342412\n",
      " 0.16342412 0.16731518 0.16731518 0.17120623 0.17120623 0.17509728\n",
      " 0.17509728 0.18287938 0.18287938 0.18677043 0.18677043 0.19455253\n",
      " 0.19455253 0.19844358 0.19844358 0.20233463 0.20233463 0.20622568\n",
      " 0.20622568 0.21011673 0.21011673 0.21400778 0.21400778 0.21789883\n",
      " 0.21789883 0.22178988 0.22178988 0.23346304 0.23346304 0.24513619\n",
      " 0.24513619 0.24902724 0.24902724 0.25291829 0.25291829 0.25680934\n",
      " 0.25680934 0.26070039 0.26070039 0.26848249 0.26848249 0.27626459\n",
      " 0.27626459 0.28404669 0.28404669 0.29182879 0.29182879 0.31128405\n",
      " 0.31128405 0.31906615 0.31906615 0.3385214  0.3385214  0.35797665\n",
      " 0.35797665 0.36575875 0.36575875 0.36964981 0.36964981 0.38521401\n",
      " 0.38521401 0.39299611 0.39299611 0.39688716 0.39688716 0.40077821\n",
      " 0.40077821 0.40466926 0.40466926 0.40856031 0.40856031 0.43579767\n",
      " 0.43579767 0.44357977 0.44357977 0.44747082 0.44747082 0.45136187\n",
      " 0.45136187 0.45914397 0.45914397 0.48638132 0.48638132 0.50194553\n",
      " 0.50194553 0.50583658 0.50583658 0.52140078 0.52140078 0.54863813\n",
      " 0.54863813 0.55642023 0.55642023 0.59922179 0.59922179 0.60700389\n",
      " 0.60700389 0.63424125 0.63424125 0.64202335 0.64202335 0.6536965\n",
      " 0.6536965  0.6692607  0.6692607  0.68871595 0.68871595 0.70428016\n",
      " 0.70428016 0.72762646 0.72762646 0.76653696 0.76653696 0.77431907\n",
      " 0.77431907 0.85603113 0.85603113 1.        ] [0.         0.00438596 0.02192982 0.02192982 0.04824561 0.04824561\n",
      " 0.12280702 0.12280702 0.22368421 0.22368421 0.28070175 0.28070175\n",
      " 0.35526316 0.35526316 0.35964912 0.35964912 0.37280702 0.37280702\n",
      " 0.37719298 0.37719298 0.38157895 0.38157895 0.38596491 0.38596491\n",
      " 0.41666667 0.41666667 0.42105263 0.42105263 0.42982456 0.42982456\n",
      " 0.43859649 0.43859649 0.47807018 0.47807018 0.48684211 0.48684211\n",
      " 0.49561404 0.49561404 0.5        0.5        0.51315789 0.51315789\n",
      " 0.51754386 0.51754386 0.52192982 0.52192982 0.52631579 0.52631579\n",
      " 0.55701754 0.55701754 0.56140351 0.56140351 0.56578947 0.56578947\n",
      " 0.5745614  0.5745614  0.57894737 0.57894737 0.59210526 0.59210526\n",
      " 0.60087719 0.60087719 0.62719298 0.62719298 0.63157895 0.63157895\n",
      " 0.64035088 0.64035088 0.64473684 0.64473684 0.65350877 0.65350877\n",
      " 0.65789474 0.65789474 0.67105263 0.67105263 0.6754386  0.6754386\n",
      " 0.67982456 0.67982456 0.68859649 0.68859649 0.70175439 0.70175439\n",
      " 0.70614035 0.70614035 0.71929825 0.71929825 0.72368421 0.72368421\n",
      " 0.73245614 0.73245614 0.74561404 0.74561404 0.75438596 0.75438596\n",
      " 0.76315789 0.76315789 0.76754386 0.76754386 0.77192982 0.77192982\n",
      " 0.78508772 0.78508772 0.78947368 0.78947368 0.80701754 0.80701754\n",
      " 0.81140351 0.81140351 0.81578947 0.81578947 0.82017544 0.82017544\n",
      " 0.82894737 0.82894737 0.83333333 0.83333333 0.84210526 0.84210526\n",
      " 0.85526316 0.85526316 0.86403509 0.86403509 0.86842105 0.86842105\n",
      " 0.87719298 0.87719298 0.88157895 0.88157895 0.88596491 0.88596491\n",
      " 0.89035088 0.89035088 0.89473684 0.89473684 0.89912281 0.89912281\n",
      " 0.90350877 0.90350877 0.90789474 0.90789474 0.9122807  0.9122807\n",
      " 0.92105263 0.92105263 0.92982456 0.92982456 0.93421053 0.93421053\n",
      " 0.94298246 0.94298246 0.94736842 0.94736842 0.95175439 0.95175439\n",
      " 0.95614035 0.95614035 0.96052632 0.96052632 0.96491228 0.96491228\n",
      " 0.96929825 0.96929825 0.97368421 0.97368421 0.97807018 0.97807018\n",
      " 0.98245614 0.98245614 0.98684211 0.98684211 0.99122807 0.99122807\n",
      " 0.99561404 0.99561404 1.         1.        ] [1.9884249  0.9884249  0.97924495 0.9731012  0.9563879  0.9560407\n",
      " 0.93165517 0.9264688  0.88785946 0.88632697 0.8685708  0.86299914\n",
      " 0.82608646 0.82258236 0.8222993  0.81385857 0.80802524 0.8070068\n",
      " 0.80483884 0.804837   0.80185324 0.79580986 0.7900425  0.78366506\n",
      " 0.77252984 0.77250147 0.77120805 0.77116805 0.7694232  0.7683584\n",
      " 0.7651477  0.7610232  0.7429129  0.742654   0.73709315 0.7321969\n",
      " 0.7308769  0.72720224 0.7269118  0.7258803  0.7165198  0.7162316\n",
      " 0.7158861  0.71466476 0.71186215 0.7054863  0.7009608  0.69243044\n",
      " 0.6619972  0.6599745  0.6560848  0.65435946 0.6540312  0.6483531\n",
      " 0.64553195 0.6438552  0.64126635 0.6400597  0.6229692  0.6185789\n",
      " 0.6142523  0.6110078  0.5985657  0.5954459  0.5937707  0.59329057\n",
      " 0.5911379  0.5877066  0.58734316 0.586078   0.5759171  0.57206905\n",
      " 0.5685183  0.56568646 0.55314875 0.5502813  0.54821557 0.5481562\n",
      " 0.54807305 0.54774684 0.5439415  0.5407901  0.53331405 0.5269323\n",
      " 0.5230382  0.5221844  0.5174556  0.50961024 0.50281906 0.488174\n",
      " 0.48302075 0.479197   0.47541934 0.47532383 0.46930498 0.46876028\n",
      " 0.46053135 0.4590908  0.4561501  0.44835532 0.442999   0.43573654\n",
      " 0.42576817 0.42107096 0.4207225  0.41695133 0.4131306  0.39859027\n",
      " 0.39190334 0.38349247 0.37626174 0.37156147 0.3674323  0.35231495\n",
      " 0.3514278  0.34863943 0.3452575  0.34445998 0.3384064  0.33594653\n",
      " 0.33377573 0.33343884 0.3300479  0.32705528 0.32359445 0.3189934\n",
      " 0.31671494 0.31320587 0.31272355 0.3122113  0.31030416 0.29449478\n",
      " 0.29305786 0.2890762  0.28861853 0.28687868 0.2863086  0.28354436\n",
      " 0.28266487 0.27946097 0.27858362 0.25810635 0.258083   0.24766503\n",
      " 0.24321347 0.23961307 0.23670368 0.23127085 0.22922996 0.22072989\n",
      " 0.21558152 0.21262972 0.2113226  0.18581986 0.18409704 0.18316853\n",
      " 0.18046008 0.16331084 0.1587636  0.15124477 0.14948367 0.14329618\n",
      " 0.14317414 0.13797218 0.13642722 0.13276659 0.13245508 0.12037617\n",
      " 0.11908464 0.11160824 0.11123696 0.08931059 0.08915307 0.08707252\n",
      " 0.08675845 0.06111448 0.06056504 0.01129598]\n",
      "0.8291180285343709\n",
      "[0.         0.         0.         0.00389105 0.00389105 0.0077821\n",
      " 0.0077821  0.01167315 0.01167315 0.0155642  0.0155642  0.01945525\n",
      " 0.01945525 0.0233463  0.0233463  0.02723735 0.02723735 0.0311284\n",
      " 0.0311284  0.03501946 0.03501946 0.03891051 0.03891051 0.04280156\n",
      " 0.04280156 0.04669261 0.04669261 0.05058366 0.05058366 0.05447471\n",
      " 0.05447471 0.05836576 0.05836576 0.06614786 0.06614786 0.07392996\n",
      " 0.07392996 0.08171206 0.08171206 0.08949416 0.08949416 0.10116732\n",
      " 0.10116732 0.10894942 0.10894942 0.11284047 0.11284047 0.12062257\n",
      " 0.12062257 0.12451362 0.12451362 0.13618677 0.13618677 0.14007782\n",
      " 0.14007782 0.14396887 0.14396887 0.15175097 0.15175097 0.15953307\n",
      " 0.15953307 0.16342412 0.16342412 0.16731518 0.16731518 0.17509728\n",
      " 0.17509728 0.18287938 0.18287938 0.18677043 0.18677043 0.19066148\n",
      " 0.19066148 0.19455253 0.19455253 0.20233463 0.20233463 0.21400778\n",
      " 0.21400778 0.21789883 0.21789883 0.22178988 0.22178988 0.22568093\n",
      " 0.22568093 0.23735409 0.23735409 0.24902724 0.24902724 0.25291829\n",
      " 0.25291829 0.26070039 0.26070039 0.27626459 0.27626459 0.28015564\n",
      " 0.28015564 0.29182879 0.29182879 0.29571984 0.29571984 0.307393\n",
      " 0.307393   0.31128405 0.31128405 0.31906615 0.31906615 0.33463035\n",
      " 0.33463035 0.34241245 0.34241245 0.35797665 0.35797665 0.36575875\n",
      " 0.36575875 0.36964981 0.36964981 0.38910506 0.38910506 0.39299611\n",
      " 0.39299611 0.40466926 0.40466926 0.40856031 0.40856031 0.41634241\n",
      " 0.41634241 0.43190661 0.43190661 0.44357977 0.44357977 0.44747082\n",
      " 0.44747082 0.45914397 0.45914397 0.46303502 0.46303502 0.48638132\n",
      " 0.48638132 0.50194553 0.50194553 0.53307393 0.53307393 0.53696498\n",
      " 0.53696498 0.55252918 0.55252918 0.56809339 0.56809339 0.58754864\n",
      " 0.58754864 0.61089494 0.61089494 0.61867704 0.61867704 0.63035019\n",
      " 0.63035019 0.64980545 0.64980545 0.6692607  0.6692607  0.67315175\n",
      " 0.67315175 0.71595331 0.71595331 0.75486381 0.75486381 0.76264591\n",
      " 0.76264591 0.76653696 0.76653696 0.77431907 0.77431907 0.77821012\n",
      " 0.77821012 0.95330739 0.95330739 1.        ] [0.         0.00438596 0.02192982 0.02192982 0.06578947 0.06578947\n",
      " 0.14912281 0.14912281 0.15789474 0.15789474 0.19298246 0.19298246\n",
      " 0.22807018 0.22807018 0.28508772 0.28508772 0.29824561 0.29824561\n",
      " 0.3245614  0.3245614  0.35087719 0.35087719 0.35526316 0.35526316\n",
      " 0.35964912 0.35964912 0.36403509 0.36403509 0.36842105 0.36842105\n",
      " 0.37719298 0.37719298 0.40350877 0.40350877 0.40789474 0.40789474\n",
      " 0.41666667 0.41666667 0.44298246 0.44298246 0.47807018 0.47807018\n",
      " 0.49122807 0.49122807 0.49561404 0.49561404 0.50438596 0.50438596\n",
      " 0.52631579 0.52631579 0.53508772 0.53508772 0.55263158 0.55263158\n",
      " 0.56578947 0.56578947 0.57894737 0.57894737 0.58333333 0.58333333\n",
      " 0.5877193  0.5877193  0.59210526 0.59210526 0.59649123 0.59649123\n",
      " 0.62280702 0.62280702 0.62719298 0.62719298 0.63596491 0.63596491\n",
      " 0.64035088 0.64035088 0.65350877 0.65350877 0.65789474 0.65789474\n",
      " 0.6622807  0.6622807  0.6754386  0.6754386  0.67982456 0.67982456\n",
      " 0.68421053 0.68421053 0.72807018 0.72807018 0.73684211 0.73684211\n",
      " 0.74561404 0.74561404 0.75438596 0.75438596 0.75877193 0.75877193\n",
      " 0.76315789 0.76315789 0.76754386 0.76754386 0.77631579 0.77631579\n",
      " 0.79385965 0.79385965 0.79824561 0.79824561 0.80263158 0.80263158\n",
      " 0.80701754 0.80701754 0.81140351 0.81140351 0.81578947 0.81578947\n",
      " 0.82017544 0.82017544 0.83333333 0.83333333 0.8377193  0.8377193\n",
      " 0.84210526 0.84210526 0.84649123 0.84649123 0.85526316 0.85526316\n",
      " 0.85964912 0.85964912 0.86403509 0.86403509 0.87280702 0.87280702\n",
      " 0.88157895 0.88157895 0.89473684 0.89473684 0.90350877 0.90350877\n",
      " 0.9122807  0.9122807  0.91666667 0.91666667 0.92105263 0.92105263\n",
      " 0.9254386  0.9254386  0.92982456 0.92982456 0.93421053 0.93421053\n",
      " 0.93859649 0.93859649 0.94298246 0.94298246 0.94736842 0.94736842\n",
      " 0.95175439 0.95175439 0.95614035 0.95614035 0.96052632 0.96052632\n",
      " 0.96491228 0.96491228 0.96929825 0.96929825 0.97368421 0.97368421\n",
      " 0.98245614 0.98245614 0.98684211 0.98684211 0.99122807 0.99122807\n",
      " 0.99561404 0.99561404 1.         1.        ] [1.98818728 0.98818728 0.97156352 0.96877668 0.94666713 0.94560488\n",
      " 0.9125038  0.91208586 0.90800133 0.90759031 0.88723821 0.88723518\n",
      " 0.8732055  0.87280454 0.84390086 0.8429602  0.83817055 0.83709531\n",
      " 0.83414031 0.83292589 0.82850462 0.82366622 0.82269835 0.81960155\n",
      " 0.81873003 0.81700381 0.81628184 0.81623513 0.81331584 0.80889911\n",
      " 0.80495941 0.80282783 0.78441693 0.78079175 0.78077593 0.7759443\n",
      " 0.77533997 0.77447472 0.7596014  0.7556198  0.73888513 0.72915887\n",
      " 0.72346029 0.72022949 0.71644014 0.71244704 0.70710801 0.70337679\n",
      " 0.69035932 0.68944381 0.68848256 0.68221029 0.67633851 0.67543383\n",
      " 0.67242662 0.66539456 0.66284599 0.65972446 0.65870286 0.6546604\n",
      " 0.65064187 0.64541697 0.63964502 0.63718448 0.63489276 0.63273952\n",
      " 0.61578649 0.6073706  0.59778848 0.59620362 0.59242048 0.58914667\n",
      " 0.58848844 0.58778676 0.57622095 0.57318358 0.57040727 0.56495665\n",
      " 0.55992159 0.55783189 0.5472209  0.54471009 0.54465338 0.54343967\n",
      " 0.54155661 0.53058461 0.49019164 0.48535813 0.48400666 0.48309412\n",
      " 0.48121414 0.47250497 0.46739971 0.46060649 0.46022042 0.45827379\n",
      " 0.45666375 0.44719247 0.43588879 0.43405991 0.42789711 0.42193355\n",
      " 0.41398856 0.40157917 0.39804324 0.39317483 0.39050079 0.38221811\n",
      " 0.3814798  0.3802831  0.37896803 0.36702686 0.36402878 0.35949259\n",
      " 0.35653898 0.35516732 0.35361091 0.3457792  0.34155065 0.33770609\n",
      " 0.33400277 0.33328277 0.33163488 0.331014   0.32989173 0.3283225\n",
      " 0.32503031 0.30627665 0.30389126 0.29742048 0.29466652 0.29424306\n",
      " 0.29309552 0.28015675 0.27675705 0.27549909 0.2731863  0.26473658\n",
      " 0.2584471  0.25004899 0.2492663  0.23588265 0.23456474 0.23158368\n",
      " 0.22746429 0.21993041 0.21552509 0.20246953 0.20206686 0.18946783\n",
      " 0.18942109 0.1743194  0.1737094  0.17107161 0.16936123 0.16264464\n",
      " 0.16084685 0.15361636 0.15309579 0.1445897  0.14416599 0.14186788\n",
      " 0.13971498 0.12069695 0.11905408 0.10563849 0.10494854 0.09864628\n",
      " 0.09474161 0.09117082 0.08824237 0.08727214 0.08704107 0.08692427\n",
      " 0.08676865 0.04130345 0.03839863 0.0198345 ]\n",
      "0.816762236330125\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\envs\\p36\\lib\\site-packages\\sklearn\\linear_model\\logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
      "  FutureWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.         0.         0.         0.00389105 0.00389105 0.0077821\n",
      " 0.0077821  0.01945525 0.01945525 0.0233463  0.0233463  0.02723735\n",
      " 0.02723735 0.0311284  0.0311284  0.03891051 0.03891051 0.04280156\n",
      " 0.04280156 0.04669261 0.04669261 0.05447471 0.05447471 0.06225681\n",
      " 0.06225681 0.06614786 0.06614786 0.07392996 0.07392996 0.08171206\n",
      " 0.08171206 0.08560311 0.08560311 0.08949416 0.08949416 0.09338521\n",
      " 0.09338521 0.11284047 0.11284047 0.11673152 0.11673152 0.12062257\n",
      " 0.12062257 0.12451362 0.12451362 0.12840467 0.12840467 0.13229572\n",
      " 0.13229572 0.13618677 0.13618677 0.14007782 0.14007782 0.14396887\n",
      " 0.14396887 0.14785992 0.14785992 0.15564202 0.15564202 0.15953307\n",
      " 0.15953307 0.16731518 0.16731518 0.17509728 0.17509728 0.17898833\n",
      " 0.17898833 0.18287938 0.18287938 0.18677043 0.18677043 0.19066148\n",
      " 0.19066148 0.19455253 0.19455253 0.20233463 0.20233463 0.21011673\n",
      " 0.21011673 0.21789883 0.21789883 0.22957198 0.22957198 0.23346304\n",
      " 0.23346304 0.23735409 0.23735409 0.24124514 0.24124514 0.25291829\n",
      " 0.25291829 0.25680934 0.25680934 0.26459144 0.26459144 0.27237354\n",
      " 0.27237354 0.27626459 0.27626459 0.28404669 0.28404669 0.28793774\n",
      " 0.28793774 0.29961089 0.29961089 0.31128405 0.31128405 0.3151751\n",
      " 0.3151751  0.33463035 0.33463035 0.3463035  0.3463035  0.35019455\n",
      " 0.35019455 0.3618677  0.3618677  0.36575875 0.36575875 0.37354086\n",
      " 0.37354086 0.38910506 0.38910506 0.39299611 0.39299611 0.39688716\n",
      " 0.39688716 0.40077821 0.40077821 0.41634241 0.41634241 0.43190661\n",
      " 0.43190661 0.43579767 0.43579767 0.44747082 0.44747082 0.46303502\n",
      " 0.46303502 0.49805447 0.49805447 0.53307393 0.53307393 0.53696498\n",
      " 0.53696498 0.57976654 0.57976654 0.61089494 0.61089494 0.61478599\n",
      " 0.61478599 0.6692607  0.6692607  0.67315175 0.67315175 0.70038911\n",
      " 0.70038911 0.71206226 0.71206226 0.73929961 0.73929961 0.75875486\n",
      " 0.75875486 0.76264591 0.76264591 0.78988327 0.78988327 0.85214008\n",
      " 0.85214008 0.87548638 0.87548638 0.92217899 0.92217899 0.92607004\n",
      " 0.92607004 0.9766537  0.9766537  0.9922179  0.9922179  1.        ] [0.         0.00438596 0.03508772 0.03508772 0.04385965 0.04385965\n",
      " 0.06140351 0.06140351 0.08333333 0.08333333 0.0877193  0.0877193\n",
      " 0.11842105 0.11842105 0.12719298 0.12719298 0.14473684 0.14473684\n",
      " 0.14912281 0.14912281 0.15789474 0.15789474 0.16666667 0.16666667\n",
      " 0.19298246 0.19298246 0.21052632 0.21052632 0.22368421 0.22368421\n",
      " 0.25       0.25       0.25438596 0.25438596 0.26754386 0.26754386\n",
      " 0.29824561 0.29824561 0.30263158 0.30263158 0.32017544 0.32017544\n",
      " 0.3377193  0.3377193  0.35087719 0.35087719 0.35964912 0.35964912\n",
      " 0.36403509 0.36403509 0.40789474 0.40789474 0.4122807  0.4122807\n",
      " 0.43421053 0.43421053 0.44298246 0.44298246 0.44736842 0.44736842\n",
      " 0.45175439 0.45175439 0.51315789 0.51315789 0.51754386 0.51754386\n",
      " 0.52631579 0.52631579 0.54824561 0.54824561 0.55701754 0.55701754\n",
      " 0.57894737 0.57894737 0.58333333 0.58333333 0.5877193  0.5877193\n",
      " 0.60526316 0.60526316 0.61842105 0.61842105 0.62719298 0.62719298\n",
      " 0.63157895 0.63157895 0.64035088 0.64035088 0.64912281 0.64912281\n",
      " 0.6622807  0.6622807  0.66666667 0.66666667 0.68421053 0.68421053\n",
      " 0.68859649 0.68859649 0.70175439 0.70175439 0.70614035 0.70614035\n",
      " 0.71491228 0.71491228 0.71929825 0.71929825 0.73245614 0.73245614\n",
      " 0.74122807 0.74122807 0.76754386 0.76754386 0.79385965 0.79385965\n",
      " 0.79824561 0.79824561 0.80701754 0.80701754 0.82017544 0.82017544\n",
      " 0.8245614  0.8245614  0.84210526 0.84210526 0.85087719 0.85087719\n",
      " 0.85964912 0.85964912 0.86403509 0.86403509 0.87719298 0.87719298\n",
      " 0.88157895 0.88157895 0.88596491 0.88596491 0.89473684 0.89473684\n",
      " 0.90350877 0.90350877 0.90789474 0.90789474 0.92105263 0.92105263\n",
      " 0.9254386  0.9254386  0.92982456 0.92982456 0.93421053 0.93421053\n",
      " 0.93859649 0.93859649 0.94298246 0.94298246 0.94736842 0.94736842\n",
      " 0.95175439 0.95175439 0.95614035 0.95614035 0.96052632 0.96052632\n",
      " 0.96491228 0.96491228 0.96929825 0.96929825 0.97368421 0.97368421\n",
      " 0.97807018 0.97807018 0.98245614 0.98245614 0.98684211 0.98684211\n",
      " 0.99122807 0.99122807 0.99561404 0.99561404 1.         1.        ] [2.00000000e+00 1.00000000e+00 1.00000000e+00 1.00000000e+00\n",
      " 9.99999999e-01 9.99999997e-01 9.99999988e-01 9.99999954e-01\n",
      " 9.99999857e-01 9.99999779e-01 9.99999754e-01 9.99999588e-01\n",
      " 9.99998046e-01 9.99997827e-01 9.99996207e-01 9.99995435e-01\n",
      " 9.99980523e-01 9.99974918e-01 9.99970706e-01 9.99969412e-01\n",
      " 9.99953884e-01 9.99945497e-01 9.99936654e-01 9.99930462e-01\n",
      " 9.99913965e-01 9.99901440e-01 9.99833428e-01 9.99792439e-01\n",
      " 9.99720167e-01 9.99712694e-01 9.99574882e-01 9.99567983e-01\n",
      " 9.99546936e-01 9.99466823e-01 9.99335910e-01 9.99191260e-01\n",
      " 9.98828838e-01 9.98414650e-01 9.98393261e-01 9.98361953e-01\n",
      " 9.98166061e-01 9.98140933e-01 9.97221940e-01 9.96789138e-01\n",
      " 9.96305963e-01 9.96280759e-01 9.95808950e-01 9.95694931e-01\n",
      " 9.95264317e-01 9.94327232e-01 9.90180122e-01 9.90038705e-01\n",
      " 9.89640239e-01 9.88896194e-01 9.81598585e-01 9.81136210e-01\n",
      " 9.77953956e-01 9.76685010e-01 9.75698070e-01 9.74278301e-01\n",
      " 9.74186055e-01 9.71882154e-01 9.50674244e-01 9.47449226e-01\n",
      " 9.45530463e-01 9.42235512e-01 9.40447532e-01 9.34605802e-01\n",
      " 8.99098816e-01 8.95695325e-01 8.91328081e-01 8.87416834e-01\n",
      " 8.67439759e-01 8.65220898e-01 8.61700138e-01 8.39333979e-01\n",
      " 8.34597783e-01 8.26441710e-01 8.14750129e-01 7.94834389e-01\n",
      " 7.71691691e-01 7.50344962e-01 7.43515661e-01 7.26197666e-01\n",
      " 7.22450717e-01 7.21442974e-01 7.18190770e-01 7.17108223e-01\n",
      " 7.12319800e-01 7.03040385e-01 6.59271255e-01 6.51951926e-01\n",
      " 6.49680364e-01 6.24633755e-01 5.67821095e-01 5.56925468e-01\n",
      " 5.56534649e-01 5.50144952e-01 4.81051151e-01 4.58089751e-01\n",
      " 4.55259846e-01 4.54224537e-01 4.37811036e-01 4.12149997e-01\n",
      " 3.88379079e-01 3.33239753e-01 3.24731543e-01 3.19271097e-01\n",
      " 3.16254013e-01 2.83615578e-01 2.63459609e-01 2.55198966e-01\n",
      " 2.09564453e-01 1.87907901e-01 1.85163303e-01 1.62499025e-01\n",
      " 1.51042692e-01 1.47598234e-01 1.32745595e-01 1.20193369e-01\n",
      " 1.13923530e-01 1.03049738e-01 8.73367166e-02 8.25660956e-02\n",
      " 7.65760463e-02 7.62276288e-02 7.29592995e-02 7.15117469e-02\n",
      " 7.13494247e-02 6.31751287e-02 5.38160158e-02 4.50804066e-02\n",
      " 4.49416213e-02 4.40702457e-02 4.24252750e-02 4.01557357e-02\n",
      " 3.77019959e-02 3.20594891e-02 3.14157059e-02 1.75409124e-02\n",
      " 1.64756129e-02 1.28203297e-02 1.08175201e-02 1.00043222e-02\n",
      " 9.99429651e-03 6.41691182e-03 5.64719830e-03 3.04018061e-03\n",
      " 2.96051247e-03 2.57918897e-03 2.40750909e-03 1.32974169e-03\n",
      " 1.30914234e-03 1.26732442e-03 1.18034050e-03 7.46990210e-04\n",
      " 6.61888249e-04 4.86088627e-04 4.72197782e-04 2.55550764e-04\n",
      " 2.53302471e-04 1.87584364e-04 1.78362632e-04 1.77705954e-04\n",
      " 1.01740716e-04 5.15306697e-05 3.80826636e-05 4.24799016e-06\n",
      " 4.15975039e-06 1.55240432e-06 1.34107096e-06 1.80793349e-07\n",
      " 9.66436421e-08 9.56645254e-08 7.72776882e-08 6.37691856e-10\n",
      " 2.50577130e-10 6.60710290e-11 3.34728292e-11 6.71481157e-13]\n",
      "0.7707010717455116\n"
     ]
    },
    {
     "data": {
      "image/png": "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4osvkpGRwbp16ygqKuK///0vTz/9NHv37mX9+vXk5eURFxfHrFmzePPNNwFj8S2llLkA2LfffkthYSHbtm2ja9eufPfdd+ZrmRIk1LzI1qeffsq9995r/vPTTz/N8uXLqzzm2rVrTJ06lW3btuHn58dPP/1ktZ21+61LzKYSDMuXL8fb27vMcNG6desoKSnB19e3ytibIoftsQMYOhiYc7lC9QIAVu08y9RL+wEIfPllSebNXRU96/r0yCOPMHz4cHMdlE6dOrF3717GjBnDE088YW5n6s0OHjyYn3/+2eq5/P39iYiIYPLkyQQGBrJs2TISEhK4+eabAZg2bRolJSW89dZb5vMNGzbMvJlHq1atePzxx83nO378OLt27SI8PJysrKxKV+nWpMgWwBdffGH+x2nVqlWMHTu22k2Z3dzcWL9+PV999RUpKSlWC4MBVu+3LjEvX76cZ599lptuuom1a9fy+uuv89prrwHw0ksv0alTJz766COeffbZKuNvahy2x16V89dy+OF4CgF+LfEKC5OkLhrN0qVLef755/nTn/4EGMd0X3zxRXbt2sV9991nbmfqeR48eLDSIlYXLlzA39+fjRs30qlTJ9auXVumUNZnn33Giy++WGlhMC8vL1xcfvmR7927N3PnziU2NpZly5bRt29fq9etSZGts2fP0qpVK3MRspiYGP7zn/+Yi2xNq2QYdO3atYSGhrJ27VpzT9uyMJipaqW1+61LzGlpaRw6ZByi27lzJ0opVq9ebf56paenO2TlR6dM7J/uPourUnTw82jsUEQz9tVXX9GxY0deeeUVjhw5wk8//cSgQYN47LHHGD9+PHPnzjXXGI+Li2Ps2LEkJydzxx13WD1fYGAg69atY+TIkfzwww9MmDCB6dOno5RizJgxfPrppzz55JNMnToVT09PRo0axddff80zzzxj9Xy33347ly5dYuzYsbzwwgvmCo1AmZK/o0aNYt++fTzxxBO88cYb3HPPPaSmplqthLhp06YyRbY+//xz4uLiiI2NZeDAgaxfv95qLCNHjmT16tWMGjWK1NRULl68yPjx41m3bh2PPPIIxcXFAFbvty4xP/roo7zzzjt4e3sTFxfHokWLmDFjBvv372fMmDHs2bOH+++/32rMTVm1RcDqgz2KgM2PmQ9ApGkoZr5xfDCnoIg/LvgTU68coktq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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# %matplotlib tk\n",
    "model_names = ['rf', 'xgb', 'gbdt', 'logistic']\n",
    "# model_names = ['xgb', 'gbdt', 'logistic']\n",
    "models = [rf, xgb, gbdt, logist]\n",
    "# models = [xgb, gbdt, logist]\n",
    "for index, model in enumerate(models):\n",
    "    model.fit(x_train, y_train)\n",
    "    pre_score = model.score(x_test, y_test)\n",
    "    # re_call = recall_score()\n",
    "    proba = model.predict_proba(x_test)[:, -1]\n",
    "    fpr, tpr, thresholds = roc_curve(y_test, proba)\n",
    "    print(fpr, tpr, thresholds)\n",
    "    roc_auc = auc(fpr, tpr)\n",
    "    print(roc_auc)\n",
    "    plt.plot(fpr, tpr, label='%s score:%.2f auc:%.2f'% (model_names[index], pre_score, roc_auc))\n",
    "    plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 通过上图可知各模型评分相差不多，都有高度的准确率及泛化性能"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 336,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.6144329896907217\n",
      "thresholds: [2.  1.  0.8 0.6 0.4 0.2 0. ]\n",
      "<class 'numpy.ndarray'> <class 'numpy.ndarray'>\n",
      "-----------\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\envs\\p36\\lib\\site-packages\\sklearn\\linear_model\\logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
      "  FutureWarning)\n",
      "D:\\anaconda\\envs\\p36\\lib\\site-packages\\sklearn\\svm\\base.py:922: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
      "  \"the number of iterations.\", ConvergenceWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.709278350515464\n",
      "thresholds: [2.00000000e+00 1.00000000e+00 9.99999455e-01 9.99999383e-01\n",
      " 9.99998105e-01 9.99996736e-01 9.99993262e-01 9.99987060e-01\n",
      " 9.99984349e-01 9.99963126e-01 9.99946531e-01 9.99929750e-01\n",
      " 9.99897950e-01 9.99888755e-01 9.99762089e-01 9.99752604e-01\n",
      " 9.99718910e-01 9.99703017e-01 9.99641690e-01 9.99609064e-01\n",
      " 9.99572391e-01 9.99516586e-01 9.99485370e-01 9.99419318e-01\n",
      " 9.99163710e-01 9.99117313e-01 9.98936547e-01 9.98662459e-01\n",
      " 9.98275052e-01 9.98204001e-01 9.95649735e-01 9.95500483e-01\n",
      " 9.94392886e-01 9.94209409e-01 9.94175830e-01 9.93549829e-01\n",
      " 9.93509190e-01 9.93008916e-01 9.92364433e-01 9.91986185e-01\n",
      " 9.91907627e-01 9.90166108e-01 9.89333598e-01 9.89076055e-01\n",
      " 9.86581904e-01 9.86089204e-01 9.84664968e-01 9.84471402e-01\n",
      " 9.82902635e-01 9.79250533e-01 9.64323425e-01 9.63113874e-01\n",
      " 9.61749328e-01 9.57447470e-01 9.42991479e-01 9.40804639e-01\n",
      " 9.28170273e-01 9.27701577e-01 9.16902038e-01 9.12351192e-01\n",
      " 9.09086215e-01 9.06814503e-01 8.61125426e-01 8.58749076e-01\n",
      " 8.57663533e-01 8.51695648e-01 8.48498674e-01 8.32881090e-01\n",
      " 8.32618669e-01 8.15898321e-01 8.02172036e-01 7.95128399e-01\n",
      " 7.91511491e-01 7.91229629e-01 7.90070094e-01 7.85988339e-01\n",
      " 7.44782903e-01 7.32413644e-01 7.01756902e-01 6.53541175e-01\n",
      " 6.51018590e-01 6.35168887e-01 6.28138969e-01 6.03835896e-01\n",
      " 6.00950767e-01 5.82580102e-01 5.74958486e-01 5.61070982e-01\n",
      " 5.47954309e-01 5.37582088e-01 5.34436943e-01 5.06589207e-01\n",
      " 4.99968685e-01 4.73589794e-01 4.50975893e-01 4.49993398e-01\n",
      " 4.48843338e-01 4.42751667e-01 4.41766873e-01 4.16349569e-01\n",
      " 4.06374677e-01 4.02203143e-01 3.98296148e-01 3.93639129e-01\n",
      " 3.89514583e-01 3.69988774e-01 3.43954668e-01 3.42641737e-01\n",
      " 3.37870600e-01 3.13572083e-01 3.05401109e-01 3.04936590e-01\n",
      " 2.44507759e-01 2.25673669e-01 2.16905112e-01 2.07995339e-01\n",
      " 1.96530591e-01 1.73969132e-01 1.71409073e-01 1.66583264e-01\n",
      " 1.64441761e-01 1.60990386e-01 1.54478287e-01 1.53384005e-01\n",
      " 1.49691149e-01 1.43503151e-01 1.41472226e-01 1.39309598e-01\n",
      " 1.38114119e-01 1.30161643e-01 1.11199085e-01 1.01957719e-01\n",
      " 1.01345207e-01 8.89423463e-02 8.43581256e-02 7.94367303e-02\n",
      " 7.63293454e-02 7.56550193e-02 7.55535696e-02 7.04483168e-02\n",
      " 6.86014153e-02 6.64077543e-02 6.19184773e-02 5.78455865e-02\n",
      " 5.70426864e-02 4.36110419e-02 4.21134821e-02 3.71441846e-02\n",
      " 3.55978028e-02 3.30090804e-02 3.28160451e-02 3.12675620e-02\n",
      " 2.99157867e-02 2.85204623e-02 2.51033587e-02 2.14508145e-02\n",
      " 2.09884408e-02 1.86358153e-02 1.82147751e-02 1.68814994e-02\n",
      " 1.50329544e-02 1.36437329e-02 1.35992892e-02 1.06512725e-02\n",
      " 9.76791236e-03 9.22416583e-03 9.16315094e-03 7.20815609e-03\n",
      " 6.83429394e-03 5.68066477e-03 5.26092510e-03 4.40692726e-03\n",
      " 4.36459629e-03 2.66102888e-03 2.63571791e-03 7.00109478e-04\n",
      " 6.80569046e-04 2.91702005e-04 2.69998304e-04 5.24926233e-05\n",
      " 5.08264259e-05 3.21172374e-05 2.28309165e-05 7.57902523e-06\n",
      " 6.71480456e-06 3.58243007e-07 2.27251393e-07 1.12594421e-08\n",
      " 3.42680739e-11 1.59734071e-11]\n",
      "<class 'numpy.ndarray'> <class 'numpy.ndarray'>\n",
      "-----------\n",
      "0.6515463917525773\n",
      "thresholds: [2.         1.         0.98245614 0.92307692 0.9137931  0.78645833\n",
      " 0.70114943 0.63333333 0.53846154 0.45054945 0.33333333 0.28571429\n",
      " 0.225      0.16666667 0.13333333 0.1026616  0.        ]\n",
      "<class 'numpy.ndarray'> <class 'numpy.ndarray'>\n",
      "-----------\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "models = [KNeighborsClassifier(), LogisticRegression(max_iter=10, penalty='l1'), DecisionTreeClassifier(max_depth=5)]\n",
    "models_names = ['KNeighborsClassifier_auc', 'LogisticRegression_auc', 'DecisionTreeClassifier_auc']\n",
    "for index, model in enumerate(models):\n",
    "    clf = model\n",
    "    clf.fit(x_train, y_train)\n",
    "    pre = clf.predict(x_test)\n",
    "    score = clf.score(x_test, y_test)\n",
    "#     print(pre)\n",
    "    print(score)\n",
    "\n",
    "# 绘图\n",
    "    proba_1 = clf.predict_proba(x_test)[:, -1]\n",
    "    fpr, tpr, thresholds = roc_curve(y_test, proba_1)\n",
    "#     print('fpr:', fpr)\n",
    "#     print('tpr:', tpr)\n",
    "    print('thresholds:', thresholds)\n",
    "    print(type(fpr), type(tpr))\n",
    "    print('-----------')\n",
    "\n",
    "    roc_auc = auc(fpr, tpr)\n",
    "    # 绘制roc\n",
    "    plt.plot(fpr, tpr, label='%s %.2f' % (models_names[index], roc_auc))\n",
    "    plt.scatter(fpr, tpr)\n",
    "    plt.legend()\n",
    "    plt.plot([0, 1], [0, 1], 'r--')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 通过上图可知只有决策树泛化性能比较差，其余都很高"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 最后选择xgboost进行预测"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 模型调参"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 337,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\envs\\p36\\lib\\site-packages\\sklearn\\model_selection\\_split.py:1943: FutureWarning: You should specify a value for 'cv' instead of relying on the default value. The default value will change from 3 to 5 in version 0.22.\n",
      "  warnings.warn(CV_WARNING, FutureWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'max_depth': 3}\n",
      "0.8554978152989913\n"
     ]
    }
   ],
   "source": [
    "# 数的最大深度max_depth：3\n",
    "params = {'max_depth': range(3, 11, 2)}\n",
    "grid_search = GridSearchCV(estimator=XGBClassifier(), param_grid=params, scoring='roc_auc')\n",
    "grid_search.fit(x_train, y_train)\n",
    "print(grid_search.best_params_)\n",
    "print(grid_search.best_score_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 338,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\envs\\p36\\lib\\site-packages\\sklearn\\model_selection\\_split.py:1943: FutureWarning: You should specify a value for 'cv' instead of relying on the default value. The default value will change from 3 to 5 in version 0.22.\n",
      "  warnings.warn(CV_WARNING, FutureWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'min_child_weight': 5}\n",
      "0.8554370036170494\n"
     ]
    }
   ],
   "source": [
    "# 最小叶子节点权重和min_child_weight: 5\n",
    "params = {'min_child_weight': range(3, 12, 2), }\n",
    "grid_search = GridSearchCV(estimator=XGBClassifier(max_depth=3, eta=0.1, subsample=0.8, colsample_bytree=0.8, random_state=1), param_grid=params, scoring='roc_auc')\n",
    "grid_search.fit(x_train, y_train)\n",
    "print(grid_search.best_params_)\n",
    "print(grid_search.best_score_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 339,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\envs\\p36\\lib\\site-packages\\sklearn\\model_selection\\_split.py:1943: FutureWarning: You should specify a value for 'cv' instead of relying on the default value. The default value will change from 3 to 5 in version 0.22.\n",
      "  warnings.warn(CV_WARNING, FutureWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'n_estimators': 110}\n",
      "0.8597855357392223\n"
     ]
    }
   ],
   "source": [
    "params = {'n_estimators': range(100, 150, 10)}\n",
    "grid_search = GridSearchCV(estimator=XGBClassifier(max_depth=3, eta=0.1, subsample=0.8, min_child_weight=5, colsample_bytree=0.8, random_state=1), param_grid=params, scoring='roc_auc')\n",
    "grid_search.fit(x_train, y_train)\n",
    "print(grid_search.best_params_)\n",
    "print(grid_search.best_score_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 361,
   "metadata": {},
   "outputs": [],
   "source": [
    "xgb_1 = XGBClassifier(max_depth=3, eta=0.1, subsample=0.8, min_child_weight=5, colsample_bytree=0.8, random_state=1, n_estimators=110)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 362,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.         0.         0.         0.00389105 0.00389105 0.0077821\n",
      " 0.0077821  0.01167315 0.01167315 0.0155642  0.0155642  0.0233463\n",
      " 0.0233463  0.02723735 0.02723735 0.0311284  0.0311284  0.03501946\n",
      " 0.03501946 0.04280156 0.04280156 0.05058366 0.05058366 0.05836576\n",
      " 0.05836576 0.06225681 0.06225681 0.07003891 0.07003891 0.08560311\n",
      " 0.08560311 0.08949416 0.08949416 0.09338521 0.09338521 0.09727626\n",
      " 0.09727626 0.10116732 0.10116732 0.10505837 0.10505837 0.10894942\n",
      " 0.10894942 0.12062257 0.12062257 0.12840467 0.12840467 0.13618677\n",
      " 0.13618677 0.14007782 0.14007782 0.14396887 0.14396887 0.15175097\n",
      " 0.15175097 0.15564202 0.15564202 0.15953307 0.15953307 0.16342412\n",
      " 0.16342412 0.16731518 0.16731518 0.17509728 0.17509728 0.17898833\n",
      " 0.17898833 0.18287938 0.18287938 0.18677043 0.18677043 0.20233463\n",
      " 0.20233463 0.20622568 0.20622568 0.21789883 0.21789883 0.22178988\n",
      " 0.22178988 0.22568093 0.22568093 0.22957198 0.22957198 0.23346304\n",
      " 0.23346304 0.23735409 0.23735409 0.24902724 0.24902724 0.25680934\n",
      " 0.25680934 0.26459144 0.26459144 0.26848249 0.26848249 0.28015564\n",
      " 0.28015564 0.28404669 0.28404669 0.28793774 0.28793774 0.29182879\n",
      " 0.29182879 0.29571984 0.29571984 0.29961089 0.29961089 0.31128405\n",
      " 0.31128405 0.31906615 0.31906615 0.35019455 0.35019455 0.37743191\n",
      " 0.37743191 0.38132296 0.38132296 0.39299611 0.39299611 0.39688716\n",
      " 0.39688716 0.40077821 0.40077821 0.40466926 0.40466926 0.40856031\n",
      " 0.40856031 0.44357977 0.44357977 0.44747082 0.44747082 0.47859922\n",
      " 0.47859922 0.48638132 0.48638132 0.51750973 0.51750973 0.53307393\n",
      " 0.53307393 0.56031128 0.56031128 0.56420233 0.56420233 0.56809339\n",
      " 0.56809339 0.59143969 0.59143969 0.6381323  0.6381323  0.66536965\n",
      " 0.66536965 0.68093385 0.68093385 0.73540856 0.73540856 0.79377432\n",
      " 0.79377432 0.82879377 0.82879377 0.83657588 0.83657588 0.84824903\n",
      " 0.84824903 0.93385214 0.93385214 1.        ] [0.         0.00438596 0.04824561 0.04824561 0.15350877 0.15350877\n",
      " 0.17105263 0.17105263 0.19298246 0.19298246 0.23245614 0.23245614\n",
      " 0.26754386 0.26754386 0.28070175 0.28070175 0.29385965 0.29385965\n",
      " 0.3377193  0.3377193  0.37280702 0.37280702 0.37719298 0.37719298\n",
      " 0.39912281 0.39912281 0.40789474 0.40789474 0.42105263 0.42105263\n",
      " 0.4254386  0.4254386  0.44736842 0.44736842 0.46052632 0.46052632\n",
      " 0.46491228 0.46491228 0.48245614 0.48245614 0.49122807 0.49122807\n",
      " 0.51754386 0.51754386 0.52192982 0.52192982 0.53947368 0.53947368\n",
      " 0.54824561 0.54824561 0.57894737 0.57894737 0.58333333 0.58333333\n",
      " 0.59210526 0.59210526 0.59649123 0.59649123 0.60087719 0.60087719\n",
      " 0.61842105 0.61842105 0.63157895 0.63157895 0.64912281 0.64912281\n",
      " 0.6622807  0.6622807  0.67105263 0.67105263 0.6754386  0.6754386\n",
      " 0.67982456 0.67982456 0.69298246 0.69298246 0.69736842 0.69736842\n",
      " 0.70175439 0.70175439 0.70614035 0.70614035 0.71052632 0.71052632\n",
      " 0.71491228 0.71491228 0.71929825 0.71929825 0.72368421 0.72368421\n",
      " 0.74561404 0.74561404 0.75       0.75       0.75438596 0.75438596\n",
      " 0.76754386 0.76754386 0.78947368 0.78947368 0.80263158 0.80263158\n",
      " 0.81140351 0.81140351 0.8245614  0.8245614  0.82894737 0.82894737\n",
      " 0.84210526 0.84210526 0.85964912 0.85964912 0.86403509 0.86403509\n",
      " 0.86842105 0.86842105 0.87719298 0.87719298 0.88157895 0.88157895\n",
      " 0.88596491 0.88596491 0.89035088 0.89035088 0.89473684 0.89473684\n",
      " 0.90350877 0.90350877 0.90789474 0.90789474 0.9122807  0.9122807\n",
      " 0.91666667 0.91666667 0.92105263 0.92105263 0.9254386  0.9254386\n",
      " 0.92982456 0.92982456 0.94298246 0.94298246 0.94736842 0.94736842\n",
      " 0.95614035 0.95614035 0.96052632 0.96052632 0.96491228 0.96491228\n",
      " 0.96929825 0.96929825 0.97368421 0.97368421 0.97807018 0.97807018\n",
      " 0.98245614 0.98245614 0.98684211 0.98684211 0.99122807 0.99122807\n",
      " 0.99561404 0.99561404 1.         1.        ] [1.9874198  0.9874199  0.9767268  0.9693114  0.93708587 0.933238\n",
      " 0.9307892  0.93048996 0.9116114  0.91097474 0.88715065 0.8826996\n",
      " 0.87084943 0.868259   0.86522335 0.861971   0.85908246 0.8540975\n",
      " 0.837348   0.83457327 0.82183003 0.8176255  0.816537   0.8120292\n",
      " 0.79509926 0.79193777 0.7906853  0.78538054 0.7824291  0.7738348\n",
      " 0.77164733 0.7702695  0.76459074 0.7633335  0.7595788  0.7593252\n",
      " 0.75811887 0.75710905 0.74661356 0.7449722  0.73861027 0.7365979\n",
      " 0.728486   0.7179434  0.7167001  0.70471585 0.6947975  0.6881507\n",
      " 0.68579066 0.6823144  0.6611052  0.65777075 0.6525995  0.64589614\n",
      " 0.6358576  0.6296296  0.62076235 0.618472   0.6117741  0.6053036\n",
      " 0.6002221  0.5954984  0.59220487 0.5867681  0.5785799  0.5769291\n",
      " 0.5632517  0.5623375  0.5510086  0.5475728  0.54025686 0.5322861\n",
      " 0.5311585  0.5305045  0.51340806 0.5003447  0.49410987 0.49367985\n",
      " 0.4934876  0.49216014 0.49206495 0.48920462 0.480419   0.47621828\n",
      " 0.47295794 0.47213858 0.46856883 0.46367177 0.46319625 0.4520528\n",
      " 0.44208112 0.43983755 0.43973482 0.43600732 0.43574494 0.42798355\n",
      " 0.4239425  0.421307   0.41135177 0.40617493 0.39837202 0.39703757\n",
      " 0.39542493 0.38657364 0.37489292 0.37458444 0.36814004 0.36520433\n",
      " 0.35992852 0.35948396 0.3481023  0.32481265 0.3236878  0.31678915\n",
      " 0.3148476  0.31473953 0.30478776 0.30265525 0.3017544  0.30166626\n",
      " 0.3012354  0.30116284 0.29797193 0.29695934 0.29434636 0.29119036\n",
      " 0.28527308 0.2746825  0.27156353 0.27067778 0.26925674 0.25739685\n",
      " 0.25620782 0.25111544 0.2510725  0.23850873 0.23781203 0.21783097\n",
      " 0.21714148 0.20593095 0.20274663 0.20179304 0.20176257 0.19936931\n",
      " 0.19013278 0.1780578  0.17610978 0.1369842  0.13582635 0.12618336\n",
      " 0.12184068 0.11177111 0.10838033 0.09146304 0.09119581 0.07176854\n",
      " 0.06939613 0.06382396 0.06220406 0.06066219 0.05947972 0.05744667\n",
      " 0.05681721 0.03533887 0.03505301 0.00912543]\n",
      "0.8292545566250257\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "xgb_1.fit(x_train, y_train)\n",
    "pre_score = xgb_1.score(x_test, y_test)\n",
    "# re_call = recall_score()\n",
    "proba = xgb_1.predict_proba(x_test)[:, -1]\n",
    "fpr, tpr, thresholds = roc_curve(y_test, proba)\n",
    "print(fpr, tpr, thresholds)\n",
    "# 输出混淆矩阵\n",
    "pre = xgb_1.predict(x_test)\n",
    "tn, fp, fn, tp = confusion_matrix(y_test, pre).ravel()\n",
    "confusion_matrix(y_test, pre)\n",
    "\n",
    "roc_auc = auc(fpr, tpr)\n",
    "print(roc_auc)\n",
    "plt.plot(fpr, tpr, label='%s score:%.2f auc:%.2f'% ('xgb_1', pre_score, roc_auc))\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
